LE gatt 第三方应用无法搜索到蓝牙低功耗设备

手机端修改packages/apps/Bluetooth/res/values/config.xml文件中strict_location_check的值由true改为false,用户
在进行扫描LE设备时则可以返回给APP。从而不需要用户强制打开GPS。
packages/apps/Bluetooth/src/com/android/bluetooth/gatt/GattService.java
    /** Determines if the given scan client has the appropriate permissions to receive callbacks. */
    private boolean hasScanResultPermission(final ScanClient client) {
        final boolean requiresLocationEnabled =
                getResources().getBoolean(R.bool.strict_location_check);
        final boolean locationEnabledSetting = Settings.Secure.getInt(getContentResolver(),
                Settings.Secure.LOCATION_MODE, Settings.Secure.LOCATION_MODE_OFF)
                != Settings.Secure.LOCATION_MODE_OFF;
        final boolean locationEnabled = !requiresLocationEnabled || locationEnabledSetting
                || client.legacyForegroundApp;
        return (client.hasPeersMacAddressPermission
                || (client.hasLocationPermission && locationEnabled));
    }

猜你喜欢

转载自blog.csdn.net/kikyo_yu/article/details/76240580
le