通过android代码如何实现手机蓝牙自动连接最后一次已配对的设备 20

如题,手机上已配对的蓝牙设备很多,现在希望能通过android代码实现手机自动连接最后一次配对的或使用的设备。... 如题,手机上已配对的蓝牙设备很多,现在希望能通过android代码实现手机自动连接最后一次配对的或使用的设备。 展开
 我来答
luojiaohust
2020-05-18 · TA获得超过209个赞
知道答主
回答量:20
采纳率:0%
帮助的人:4.3万
展开全部

先明确场景。你是希望如下哪种自动连接?

case1: 手机开机自动连接蓝牙最后配对设备:Android已经在Framework层实现。不需要Apk再做。关键代码如下:

BluetoothDeviceConnectionPolicy.java 里面

onReceive 收到事件BluetoothAdapter.STATE_ON后

else if (BluetoothAdapter.ACTION_STATE_CHANGED.equals(action)) {

initiateConnection();给状态机发CONNECT

mBluetoothAutoConnectStateMachine.sendMessage(BluetoothAutoConnectStateMachine.CONNECT);


case2:蓝牙关闭状态,打开蓝牙,自动连接最后使用的设备:Apk层注册监听蓝牙打开的广播,然后在事件响应中获取已配对列表,取第一个去进行连接就好。

  1. 注册监听蓝牙打开的广播事件:android.bluetooth.adapter.action.STATE_CHANGED

    Bluetooth ACTION_STATE_CHANGED curState = 11,preState = 10   打开中

    Bluetooth ACTION_STATE_CHANGED curState = 12,preState = 11   打开了。

  2. 获取已配对设备列表:BluetoothAdapter.getBondedDevices()

  3. 取出第一个设备(也就是最新的),连接:

    framework/base/core/java/android/bluetooth/

    BluetoothHeadsetClient: connect(device)

    BluetoothA2dpSink: connect(device)

航飞光电科技有限公司
2023-08-27 广告
作为一家专业从事蓝牙定位技术研发和应用的公司,市面上有很多蓝牙人员定位系统可供选择。不同的系统在技术、精度和应用场景等方面有所不同,因此需要根据实际需求来选择适合的设备。一般来说,选择蓝牙人员定位系统时需要考虑以下因素:1. 技术:采用何种... 点击进入详情页
本回答由航飞光电科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式