React-native : Android 11 bluetooth permission not showing in setting > application > myapp > permission

Viewed 1060

React-native == 0.66

Device android version == 11

I'm trying to add several permission for android. I need to add under permissions.

  1. BLUETOOTH
  2. BLUETOOTH_ADMIN
  3. ACCESS_FINE_LOCATION(or ACCESS_COARSE_LOCATION)
  4. SEND_SNS
  5. CAMERA

So I added to AndroidManifest.xml like this

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

After adding them and rebuilding, Camera, SMS and Location are displaying marked as "not allowed" in the Mobile>Application>Settings>Permission.

Then when I do PermissionsAndroid.request()those go to "Allowed" normally.

However BLUETOOTH and BLUETOOTH_ADMIN are not showing in the Permission menu.

Of course, A throws an error(permission is null) when I request permission for Bluetooth.

This is my simple request permission code

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);
    }
  };

What should I do?

0 Answers
Related