【发布时间】:2016-08-23 06:26:51
【问题描述】:
我想知道的:
我想知道安卓系统(如安卓智能手机)如何自动连接之前配对的设备。
例如,我在第一天通过"turn on scanning/advertising -> click pairing" 的程序将我的蓝牙耳机与我的安卓智能手机配对。当我在耳机上打开广告时,它会在第二天自动连接, 3、4 等等。关键是,我无需再次扫描智能手机即可找到我的(配对)耳机。
我不明白 android 系统如何发现配对的设备已打开。 android系统会在后台定期扫描吗?即使我不点击“扫描”按钮?
我为什么要问:
我想让我的应用在配对后自动连接到定制的 BLE 设备。我成功地使用createBond() 方法进行配对(绑定),但在那之后,我找不到如何进行自动连接。我知道我可以像这样打开自动连接功能connectGatt(XXX, true, XXX),但是当BLE设备断开几天后,这个自动连接功能就不起作用了。
所以我想让我的应用像安卓系统和蓝牙耳机一样工作。但是即使我挖掘AOSP代码,我也找不到android蓝牙系统的工作原理。
我发现了很多关于我的问题的问题(here 和here),但没有答案。
提前致谢。
更新:
我发现bt_btif 在配对的耳机打开(开始广告)时被激活(使用 LG 智能手机和 Nexus 5)。但是bt_btif 没有被我的自定义 BLE 设备激活...我该怎么办?
【问题讨论】:
-
以您的耳机为例是没有用的:经典蓝牙与 BLE 的扫描工作方式完全不同。
标签: android bluetooth bluetooth-lowenergy