**
MTK平台打开蓝牙可见性的设置
**
对端设备只打开Settings界面的蓝牙图标,测试机Scan不到对端设备。
只有当对端设备在“设置——蓝牙——与新设备配对”界面时,测试机才能Scan到对端设备。
问题: 1. 为什么Settings界面的打开蓝牙图标,测试机不能Scan到对端设备?
2. 怎么才能做到Settings界面的打开蓝牙图标,测试机就能Scan到对端设备?
解: 1.Android默认的行为是:只有在setting->bluetooth界面,才会开启蓝牙的可见性;只在 status bar打开BT的话,是不会开启蓝牙可见性的。
目前我们的设备没有“status bar打开BT,同时开启蓝牙可见性”的需求。
此现象正常,无需修改。
2. 如果想开启蓝牙后就一直打开可见性,可以做如下修改:
a. 开启蓝牙即打开可见性:
vendor/mediatek/proprietary/packages/apps/Bluetooth/src/com/android/bluetooth/btservice/AdapterProperties.java
在onBluetoothReady()
中,将
setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);
改为:
setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);
b. 调用AlwaysDiscoverable.stop也不关闭 可见性:
/vendor/mediatek/proprietary/packages/apps/MtkSettings/src/com/android/settings/bluetooth/AlwaysDiscoverable.java
在stop()
中,将
mBluetoothAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);
直接注释掉
// mBluetoothAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);