蓝牙设备连接/断开连接时广播吗?

问题描述:

我想要启动一项服务,当一个特定的蓝牙设备连接并断开连接时停止此服务。 显然,我不想有一个后台服务,总是检查一个BT设备是否连接,所以我想用Receiver来实现。蓝牙设备连接/断开连接时广播吗?

这实际上可行吗? android.bluetooth.device.action.ACL_CONNECTED被提及here,但显然它没有工作。

谢谢!

<intent-filter> 
    <action android:name="android.bluetooth.device.action.ACL_CONNECTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECT_REQUESTED" /> 
    <action android:name="android.bluetooth.device.action.ACL_DISCONNECTED" /> 
</intent-filter> 

这些是您必须添加与您的广播接收器的过滤器。当蓝牙连接

ACL_CONNECTED信号和ACL_DISCONNECTED信号蓝牙断开

对于你必须检查意图/上下文在广播接收机

必须添加两个权限是特定的设备:

<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 
<uses-permission android:name="android.permission.BLUETOOTH" /> 

我认为这应该可以解决您的问题。

+0

工作,谢谢!我认为ACL_CONNECTED只适用于音频设备^^ – Force

+0

欢迎我的朋友 –

+0

为防万一有人使用此代码,如果用户关闭蓝牙,ACL_DISCONNECT_REQUESTED和ACL_DISCONNECTED不会被调用! – Force