我希望在连接特定蓝牙设备时启动服务,并在断开连接时停止此服务。 显然我不希望有一个后台服务,总是检查BT设备是否已连接,所以我想用接收器实现这一点。
这实际上可行吗?提到android.bluetooth.device.action.ACL_CONNECTED
here,但显然它不起作用。
谢谢!
答案 0 :(得分:19)
<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" />
我认为这可以解决你的问题。