美文网首页
【Android】没有触发LeScanCallback导致无法搜

【Android】没有触发LeScanCallback导致无法搜

作者: Blue_Well | 来源:发表于2020-07-02 12:07 被阅读0次

    在Android6.0以上,部分机型需要开启定位权限,部分机型需要同时开启GPS。所以使用蓝牙之前,需要动态申请定位权限,或者直接将targetSdkVersion设置为23以下。
    需要在AndroidManifest.xml文件增加以下权限:

    <uses-feature
          android:name="android.hardware.bluetooth_le"
          android:required="true" />
    
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    

    动态申请定位权限的方法:

    // Android M Permission check. Android 6.0 or later need to turn ACCESS_COARSE_LOCATION permissions on manually.
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
        if (this.checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
            requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, PERMISSION_REQUEST_COARSE_LOCATION);
        }
    }
    

    相关文章

      网友评论

          本文标题:【Android】没有触发LeScanCallback导致无法搜

          本文链接:https://www.haomeiwen.com/subject/fqnlqktx.html