当蓝牙设备自动与系统配对/连接时,Android会收到回叫吗?

时间:2017-03-14 12:59:53

标签: android service bluetooth broadcastreceiver bluetooth-lowenergy

当Android自动配对/连接到蓝牙设备,例如我的车,而没有应用程序已启动/打开(某种广播)时,有没有办法接收回调?我已经想过定期扫描设备并查看它们是否已经绑定的服务,但是因为Android已经这样做了,感觉无效:当我在范围内时它会自动连接到我的车。这个想法是当我在我的汽车范围内时开始一项特定的工作,并在我超出我的汽车范围时停止工作,而无需启动应用程序或打开它。

我最初的想法是应该有一种可以注册的广播,知道设备何时连接",并且在该听众中只是启动作业一段时间或直到设备是"断开"。请注意,将手机放在口袋中而不是拿起手机是必要的。我只看过一些示例,如果应用程序已经打开,通过监听状态更改来执行此操作。这可能是没有打开应用程序,只有"事件驱动"听广播?

2 个答案:

答案 0 :(得分:-1)

请尝试以下代码:

IntentFilter actionChangeFilter = new IntentFilter(BluetoothAdapter.ACTION_CONNECTION_STATE_CHANGED);
        mContext.registerReceiver(btDeviceConnectChangedReceiver, actionChangeFilter);

答案 1 :(得分:-2)

您可以收听BluetoothAdapter的ACTION_STATE_CHANGED广播。

See here for details

编辑:

以上是适配器状态的变化。要收听新的连接等,请使用此处列出的内容:BluetoothDevice