Android系统如何自动连接到配对设备?

Android系统如何自动连接到配对设备?,第1张

概述我想知道的是:我想知道android系统(例如Android智能手机)如何自动连接到之前已配对设备.例如,我在第1天按照“打开扫描/广告->单击配对”的程序将蓝牙耳机与android智能手机配对.当我打开耳机上的广告时,它会在第2、3天自动连接,4,依此类推.关键是,我不必再次扫描智能手机即可找

我想知道的是:

我想知道android系统(例如Android智能手机)如何自动连接到之前已配对的设备.

例如,我在第1天按照“打开扫描/广告->单击配对”的程序将蓝牙耳机与androID智能手机配对.当我打开耳机上的广告时,它会在第2、3天自动连接,4,依此类推.关键是,我不必再次扫描智能手机即可找到(配对的)耳机.

我无法理解androID系统如何找到已配对的设备. AndroID系统会在后台定期扫描吗?即使我不单击“扫描”按钮?

为什么我问:

配对后,我想使我的应用自动连接到自定义的BLE设备.我成功地使用createBond()方法进行了配对(绑定),但是在那之后,我找不到如何进行自动连接的方法.我知道我可以像这样打开autoconnect功能connectGatt(XXX,true,XXX),但是当BLE设备断开几天连接后,此自动连接功能不起作用.

所以我想让我的应用像AndroID系统和蓝牙耳机一样工作.但是,即使我挖了AOSP代码,我也找不到androID蓝牙系统的工作方式.

我发现许多有关我的问题的问题(here和here),但没有答案.

提前致谢.

更新:

我发现打开配对耳机(启动广告)时,bt_btif被激活(使用LG智能手机和Nexus 5).但是我的自定义BLE设备无法激活bt_btif …我该怎么办?

解决方法:

执行connectGatt(XXX,true,XXX)是正确的方法. gatt.connect()也将启动自动连接.执行该 *** 作后,手机将扫描该设备,并在出现该设备时将其连接到该设备.唯一会中断此呼叫的情况是,如果手机上的蓝牙功能已关闭,或者您的应用程序进程已被终止.为了避免您的进程被杀死,请让您的应用程序具有前台服务.

但是,有一个陷阱,AndroID中存在一个错误,该错误有时会使自动连接改为直接连接(并在30秒左右后取消).请参阅https://code.google.com/p/android/issues/detail?id=69834.您需要使用反射来避免此错误.

总结

以上是内存溢出为你收集整理的Android系统如何自动连接到配对设备?全部内容,希望文章能够帮你解决Android系统如何自动连接到配对设备?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1094258.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存