Kotlin: приложение не запрашивает у пользователя разрешения - PullRequest
1 голос
/ 07 ноября 2019

Я создаю приложение для Android, которое читает SMS-сообщения пользователя. Сначала я проверяю, предоставил ли пользователь разрешение на чтение SMS-сообщений с условием if. Я проверил, что мой тестовый телефон не предоставил доступ к приложению для чтения SMS-сообщений, так как выполняется печать. Однако метод requestPermissions не запускается (всплывающее окно с запросом предоставить разрешение на чтение SMS-сообщений). Я подозреваю, что я мог использовать неправильный код разрешения или неправильный метод для начала. Я включил следующее разрешение в свой файл Manifest.xml:

<uses-permission android:name="android.permission.SEND_SMS"/>

Ниже мой код Kotlin:

// See if the user has not granted permission to read his or her text messages
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) == PackageManager.PERMISSION_DENIED) {
    // Request the user to grant permission to read SMS messages
    ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_SMS), 2);
    System.out.println("Permission Denied")
}

Ответы [ 2 ]

1 голос
/ 07 ноября 2019

В AndroidManifest.xml добавить разрешение READ_SMS.

Использовать

<uses-permission android:name="android.permission.READ_SMS"/>

Вместо

<uses-permission android:name="android.permission.SEND_SMS"/>
0 голосов
/ 07 ноября 2019

Как упоминается в комментариях, вы объявили SEND_SMS разрешение в файле Manifest.xml и запросили разрешение READ_SMS динамически (во время выполнения).

Также не рекомендуется использовать это разрешение, если только приложениедействует как приложение для обмена сообщениями по умолчанию. Пожалуйста, ознакомьтесь с документацией Manifest.permission.READ_SMS , в которой говорится следующее:

Это строго ограниченное разрешение, которое не может быть сохранено приложением, пока установщик не внесет запись в белый список разрешения. Для получения дополнительной информации см. PackageInstaller.SessionParams.setWhitelistedRestrictedPermissions (Set)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...