客户反馈:正常来说,机器启动系统蓝牙是一直打开的,手机直接能搜索到他, 不需要去点开蓝牙部分才能搜索。
在做Android蓝牙开发过程中,发现虽然设备的蓝牙和定位权限都打开了,但是扫描不到设备。只有进入蓝牙页面,才能被扫描搜索到。这个就涉及到蓝牙的可见性,为了保护隐私默认是不可见的,需要打开蓝牙可见性,才能被别的设备扫描搜索到
Index: src/com/android/bluetooth/btservice/AdapterProperties.java
===================================================================
@@ -926,7 +926,8 @@
mProfilesConnecting = 0;
mProfilesDisconnecting = 0;
// adapterPropertyChangedCallback has already been received. Set the scan mode.
- setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);
+ setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
// This keeps NV up-to date on first-boot after flash.
setDiscoverableTimeout(mDiscoverableTimeout);
}
第三方应用也可以用反射的方式去处理
蓝牙可见性配置
网友评论