美文网首页
Android7.0版本蓝牙适配

Android7.0版本蓝牙适配

作者: 红鲤鱼与绿鲤鱼与驴与鱼 | 来源:发表于2022-04-06 10:39 被阅读0次

    今天遇到一个BUG,之前在Android5.0版本上的蓝牙功能,在7.0上就搜索不到设备。这是因为在6.0以后蓝牙需要一个定位的动态权限
    在AndroidManifest中添加 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>权限
    然后在代码中动态申请权限

            //蓝牙权限
            //动态权限申请
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//如果 API level 是大于等于 23(Android 6.0) 时
                //判断是否具有权限
                if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                  
                    //请求权限
                    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, 1);
                }else {
                    //初始化蓝牙的方法,必须有定位权限才可以初始化
                    initBluetooth();
                }
            } else {
                initBluetooth();
            }
        
        //权限申请成功后再进行初始化
        @Override
        public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
            super.onRequestPermissionsResult(requestCode, permissions, grantResults);
            if (requestCode == 1) {
                initBluetooth();
            }
        }
    

    相关文章

      网友评论

          本文标题:Android7.0版本蓝牙适配

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