FLUTTER ECOSYSTEM

rafdls/headset_connection_event

Biblioteca Flutter para capturar eventos de conexão e desconexão do fone de ouvido

Capa do projeto evento de conexão de fone de ouvido
Stars
8
Forks
29
Último push (UTC)
10 de fev. de 2026
Status do projeto
Ativo
Rafael Delos Santos GitHub avatar
GITHUB User

Rafael Delos Santos ↗

Building apps @rafaelatdoshii, @raf-tyro @tmc-apps

Commonwealth Bank of AustraliaSydney, AustraliaSite oficial ↗
LinguagensJavaDartSwiftRubyPythonObjective-C

Pacotes publicados por este repositório

Dependências usadas

Lista de dependências 4 itens
  • flutter{"sdk":"flutter"}
  • flutter_lintsDesenvolvimento^5.0.0
  • flutter_testDesenvolvimento{"sdk":"flutter"}
  • mockitoDesenvolvimento^5.0.0

README original

Texto original em inglês. Visite o GitHub para a versão atual.

Expandir / recolher README

Headset Connection Event Flutter Plugin

A Flutter plugin to get a headset event.

Flutter

This is a clone of headset_event, but with fix on swift errors and bluetooth connection events for Android and iOS

Migrated to AndroidX

Current Status

Platform Physical Headset Bluetooth
iOS
Android

Usage

To use this plugin, add headset_connection_event as a dependency in your pubspec.yaml file.

Example
    // 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;
      });
    });
Android setup

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;
}