蓝牙设备连接/断开连接时广播吗?
问题描述:
我想要启动一项服务,当一个特定的蓝牙设备连接并断开连接时停止此服务。 显然,我不想有一个后台服务,总是检查一个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" />
我认为这应该可以解决您的问题。
工作,谢谢!我认为ACL_CONNECTED只适用于音频设备^^ – Force
欢迎我的朋友 –
为防万一有人使用此代码,如果用户关闭蓝牙,ACL_DISCONNECT_REQUESTED和ACL_DISCONNECTED不会被调用! – Force