2024-04-22:Android12以上使用蓝牙

2024-04-21  本文已影响0人  Divine_Yang

问题描述:
按照下面步骤增加了蓝牙权限,但是没有自动弹窗申请权限,并且自动拒绝,在检查权限授权校验时不通过

Android11之后增加了两个蓝牙相关权限

    <!-- Android 31 之后新增了两个杈限 -->
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />

这两个权限是运行时权限,需要动态申请,app拥有这两个权限才能正常连接蓝牙设备进行传输。

  public String[] requestPermissions() {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
            // Android 版本大于等于 Android12 时
            // 只包括蓝牙这部分的权限,其余的需要什么权限自己添加
            return new String[]{
                    ...
                    Manifest.permission.BLUETOOTH,
                    Manifest.permission.BLUETOOTH_ADMIN,

                    Manifest.permission.BLUETOOTH_SCAN,
                    Manifest.permission.BLUETOOTH_CONNECT,
                    ...
            };
        }

只有当(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S)时,才会弹窗申请新加的两个权限,所以代码中需要增加一下Android版本的判断。

上一篇 下一篇

猜你喜欢

热点阅读