首页 > 解决方案 > React-native:Android 11蓝牙权限未显示在设置>应用程序> myapp>权限中

问题描述

反应原生 == 0.66

设备安卓版本 == 11

我正在尝试为android添加几个权限。我需要在权限下添加。

  1. 蓝牙
  2. BLUETOOTH_ADMIN
  3. ACCESS_FINE_LOCATION(或 ACCESS_COARSE_LOCATION)
  4. SEND_SNS
  5. 相机

所以我像这样添加到 AndroidManifest.xml

    <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_BACKGROUND_LOCATION" />

     <!-- <uses-permission android:name="android.permission.BLUETOOTH_ADVERTISE" />
    <uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
    <uses-permission android:name="android.permission.BLUETOOTH_SCAN" /> -->
    <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.SEND_SMS"/>
    <uses-permission android:name="android.permission.CAMERA" />

添加并重建后,相机、短信和位置在移动>应用程序>设置>权限中显示为“不允许”。

然后,当我执行 PermissionsAndroid.request() 时,它们通常会转到“允许”。

但是 BLUETOOTH 和 BLUETOOTH_ADMIN 没有显示在权限菜单中。

当然,当我请求蓝牙权限时,A 会抛出错误(权限为空)。

这是我的简单请求权限代码

const requestAppPermission = async () => {
    try {
      const granted = await PermissionsAndroid.request(
        PermissionsAndroid.PERMISSIONS.BLUETOOTH, // Camera works good. But bluetooth is not working.
      );
      if (granted === PermissionsAndroid.RESULTS.GRANTED) {
        console.log(PermissionsAndroid.RESULTS.GRANTED);
        console.log('You can use');
      } else {
        console.log('permission denied');
      }
    } catch (err) {
      console.warn(err);
    }
  };

我应该怎么办?

标签: react-native

解决方案


推荐阅读