hardware_buttons 0.1.1 hardware_buttons: ^0.1.1 copied to clipboard
A Flutter plugin for iOS and Android for detecting various hardware buttons such as volume and home button.
hardware_buttons #
A Flutter plugin for iOS and Android for detecting various hardware buttons.
Note: This plugin is still under development, and some APIs might not be available yet. Feedback and Pull Requests are most welcome!
Screenshots #
Features #
- Detect volume buttons
- Detect home button
- To be added...
Android specification #
- In order to listen to volume button events, this plugin inevitably requests for ACTION_MANAGER_OVERLAY_PERMISSION. This may surprise users, so we recommend notifying users beforehand.
iOS specification #
- No VOLUME_DOWN events are emitted when the volume is already at its minimum. VOLUME_UP events vice versa. On the other hand, events always occur whenever user presses the button on Android.
Usage #
Import the package #
To use this plugin, follow the plugin installation instructions.
Use the plugin #
Add the following import to your Dart code:
import 'package:hardware_buttons/hardware_buttons.dart';
In order to listen to volume button events, use volumeButtonEvents.listen
as below:
StreamSubscription _volumeButtonSubscription;
@override
void initState() {
super.initState();
_volumeButtonSubscription = volumeButtonEvents.listen((VolumeButtonEvent event) {
// do something
// event is either VolumeButtonEvent.VOLUME_UP or VolumeButtonEvent.VOLUME_DOWN
});
}
@override
void dispose() {
super.dispose();
// be sure to cancel on dispose
_volumeButtonSubscription?.cancel();
}
Similarly, you can listen to home button events using homeButtonEvents.listen
.
Example #
Find the example wiring in the example app.
API details #
See the hardware_buttons.dart for more API details.
Issues and feedback #
Please file issues to send feedback or report a bug. Thank you!