欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 美食 > 高通平台 android7.1 蓝牙的可见性设置

高通平台 android7.1 蓝牙的可见性设置

2025/2/24 16:39:11 来源:https://blog.csdn.net/u013970897/article/details/140332014  浏览:    关键词:高通平台 android7.1 蓝牙的可见性设置

1、情景

        本机设备只打开蓝牙开关,但不停留在设置里面蓝牙页面时,其他设备扫描不到本机设备。

2、Android7.1中,默认的行为是,只有在设置里面的蓝牙页面,才会开启蓝牙的可见性;如果只是打开下拉栏的蓝牙快捷开关,是不会开启蓝牙可见性的。

3、需求:

        (1)打开蓝牙时,直接打开蓝牙可见性

        (2)不停留在设置里面蓝牙页面时,要扫描到本机设备

4、需求一的解决方案:

        打开蓝牙时,直接打开蓝牙可见性。如下:

路径:****/packages/apps/Bluetooth/src/com/android/bluetooth/btservice/AdapterProperties.java

void onBluetoothReady() {Log.d(TAG, "ScanMode =  " + mScanMode );Log.d(TAG, "State =  " + getState() );// When BT is being turned on, all adapter properties will be sent in 1// callback. At this stage, set the scan mode.synchronized (mObject) {if (getState() == BluetoothAdapter.STATE_TURNING_ON &&mScanMode == BluetoothAdapter.SCAN_MODE_NONE) {/* mDiscoverableTimeout is part of theadapterPropertyChangedCallback received beforeonBluetoothReady */if (mDiscoverableTimeout != 0)//setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);else /* if timeout == never (0) at startup */setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);/* though not always required, this keeps NV up-to date on first-boot after flash */setDiscoverableTimeout(mDiscoverableTimeout);}}}

    如上图:    将  setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE);  改为

        setScanMode(AbstractionLayer.BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE);即可。

5、需求二的解决方案,如下:

路径:******/packages/apps/Settings/src/com/android/settings/bluetooth/BluetoothSettings.java

@Overridepublic void onPause() {super.onPause();if (mBluetoothEnabler != null) {mBluetoothEnabler.pause();}// Make the device only visible to connected devices.//mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);if (isUiRestricted()) {return;}getActivity().unregisterReceiver(mReceiver);}

如上图,在onPause()方法中将mLocalAdapter.setScanMode(BluetoothAdapter.SCAN_MODE_CONNECTABLE);注释掉即可。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com