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

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

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版本的判断。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容