android 蓝牙可见性配置(Android R)

2022-11-11  本文已影响0人  gale_小米

客户反馈:正常来说,机器启动系统蓝牙是一直打开的,手机直接能搜索到他, 不需要去点开蓝牙部分才能搜索。

在做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);
         }

第三方应用也可以用反射的方式去处理
蓝牙可见性配置

上一篇下一篇

猜你喜欢

热点阅读