headset_connection_event
Flutter Plugin for headset events. Detect headset is plugged and unplugged. Get current headset state.
Flutter library to capture connect and disconnect events from headset
English project snapshot. Visit GitHub for the latest content.
A Flutter plugin to get a headset event.
This is a clone of headset_event, but with fix on swift errors and bluetooth connection events for Android and iOS
Migrated to AndroidX
| Platform | Physical Headset | Bluetooth |
|---|---|---|
| iOS | ✅ | ✅ |
| Android | ✅ | ✅ |
To use this plugin, add headset_connection_event as a dependency in your pubspec.yaml file.
// Import package
import 'package:headset_connection_event/headset_event.dart';
// Instantiate it
HeadsetEvent headsetPlugin = new HeadsetEvent();
HeadsetState headsetEvent;
/// if headset is plugged
headsetPlugin.getCurrentState.then((_val){
setState(() {
headsetEvent = _val;
});
});
/// Detect the moment headset is plugged or unplugged
headsetPlugin.setListener((_val) {
setState(() {
headsetEvent = _val;
});
});
Update compileSdkVersion to 33 in your build.properties under app directory
Make the following changes to your project's main AndroidManifest.xml file:
<activity...
<!-- ADD THIS BELOW "ACTIVITY" -->
android:exported="true"
<!-- ADD THIS "RECEIVER" Element Before </application> -->
<receiver android:name="flutter.moum.headset_event.HeadsetBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.HEADSET_PLUG" />
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
</application>
</manifest>
Please see example project AndroidManifest.xml for more information.
Android 12 requires bluetoothConnect permission. You may request it using the permission_handler:
Add permission in your manifest
<uses-permission android:name="android.permission.BLUETOOTH" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" android:maxSdkVersion="30" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
import 'package:permission_handler/permission_handler.dart';
Future<bool> requestPermission() async {
if (!Platform.isAndroid) return true;
return Permission.bluetoothConnect.request().isGranted;
}
Dependency list 4 items
{"sdk":"flutter"}^5.0.0{"sdk":"flutter"}^5.0.0Start with your use case, compare repository activity, and check the original project before adopting it.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗