Реактивное разрешение RECEIVE_SMS для Android всегда приводит к «never_ask_again» - PullRequest
0 голосов
/ 02 июня 2018

Я запрашиваю несколько разрешений.Все работают нормально, кроме получения смс , где результат всегда 'never_ask_again' .

Ниже приведен код, который я пытаюсь:

_getPermissions = async () => {
try {
  const resuts = await PermissionsAndroid.requestMultiple([
    PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
    PermissionsAndroid.PERMISSIONS.RECEIVE_SMS,
    PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE
  ]);
  if (
    resuts[PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION] !==
    PermissionsAndroid.RESULTS.GRANTED
  ) {
    alert("Permission not granted. The application may not work properly");
  }
  if (
    resuts[PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE] !==
    PermissionsAndroid.RESULTS.GRANTED
  ) {
    alert("Permission not granted. The application may not work properly");
  }
  if (
    resuts[PermissionsAndroid.PERMISSIONS.RECEIVE_SMS] !==
    PermissionsAndroid.RESULTS.GRANTED
  ) {
    alert("Permission not granted. The application may not work properly");
  }
} catch (err) {
  console.warn(err);
}
};

1 Ответ

0 голосов
/ 27 июня 2018

Исправьте эту строку как противоположное условие:

if (
  resuts[PermissionsAndroid.PERMISSIONS.RECEIVE_SMS] ===
  PermissionsAndroid.RESULTS.DENIED
) {
  Alert.alert("Permission not granted. The application may not work properly");
}
...