Permission always returns never_ask_again
Asked Answered
C

2

17

Steps to replicate:

react-native init project

<add code below to the project(App.js component)>

react-native run-android

I called the function in onPress of a text component.

The permission request always returns never_ask_again even for the fresh app run.

async requestPermissions() {
// android 6.0 +
if (Platform.OS === 'android' && Platform.Version >= 23) {
  try {
    const granted = await PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, {
      'title': 'Let the access location',
      'message': 'locate you.'
    });
    console.log('granted: ', granted);
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      Alert.alert("Granted access", [{ text: "ok" }])
    } else {
      Alert.alert(
        "can't access to GPS title",
        "returned " + granted,
        [
          { text: "ok" }
        ]
      );
    }
  } catch (err) {
  }
}
}

Even when the permissions is enabled from settings, still the never_ask_again is returned.

React Native Version: 0.55.2

React Version: 16.3.1

in app/build.gradle

targetSdkVersion 23

Thanks

Clinician answered 11/4, 2018 at 9:13 Comment(4)
Did you ever find out what the problem was? Additionally for me, PermissionsAndroid.check always return false even when the permission has been granted.Acidulent
One thing I missed was to add <uses-permission android:name="android.permisssion.ACCESS_FINE_LOCATION"></uses-permission> in AppManifest.xml @this.lau_Clinician
@Clinician Use react-native-permissions github.com/yonahforst/react-native-permissionsCircum
@Clinician thank you It worked. I think you should write it in the answer instead of writing it in commentOstler
C
14

One thing I missed was to add <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> in AppManifest.xml

Clinician answered 27/4, 2020 at 17:52 Comment(1)
In my case the error was in camera, but the solution is the sameNonsuch
E
1

You will have to add <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> in AndroidManifest.xml not AppManifest.xml

Environmentalist answered 23/5, 2023 at 8:56 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.