首页 > 代码库 > 解决:设置中打开蓝牙,测试机不会自动搜索设备

解决:设置中打开蓝牙,测试机不会自动搜索设备

【操作步骤】:设置中打开蓝牙,测试机不会自动搜索设备
【测试结果】:设置中打开蓝牙,测试机不会自动搜索设备

【预期结果】:打开蓝牙,应该会自动搜索设备

根据反复测试发现,当蓝牙状态打开,并且有可用的设备的时候,或者存在已经配对成功的设备的时候,系统将不会在进行设备搜索,因此根据String定位到蓝牙的设置界面的Fragment为:BluetoothSettings.java.

在BluetoothSettings类的updateContent()方法中我们发现下面代码:

......
                //if (numberOfPairedDevices == 0) {
                    //preferenceScreen.removePreference(mPairedDevicesCategory);

                    if (scanState == true) {
                        mActivityStarted = false;
                        startScanning();
                    } else {
                        if (!mAvailableDevicesCategoryIsPresent) {
                            getPreferenceScreen().addPreference(mAvailableDevicesCategory);
                        }
                    }
                //}
                getActivity().invalidateOptionsMenu();
                return; // not break

......

上述代码中红色加粗的代码即使是否执行搜索的限制条件,而红色加蓝部分为搜索设备的方法。因此我们将红色加粗的部分进行注释,该问题得到解决。