Как проверить, отказал ли пользователь в android.permission.FOREGROUND_SERVICE - PullRequest
0 голосов
/ 04 ноября 2019

Мой запрос приложения проверить, не разрешил ли пользователь запускать приоритетный сервис. Но

if (checkCallingOrSelfPermission("android.permission.FOREGROUND_SERVICE") == PackageManager.PERMISSION_GRANTED) {
 //always true ??? but the user has not allowed this permission
}

Ответы [ 2 ]

0 голосов
/ 04 ноября 2019

Согласно документу на Android, если разрешение нормальное, нет необходимости запрашивать его динамически, а если разрешение - опасное разрешение, то вам нужно запрашивать его динамически

Из документа Android: Если ваше приложение перечисляет обычные разрешения в своем манифесте (то есть разрешения, которые не представляют большого риска для конфиденциальности пользователя или работы устройства), система автоматически предоставляет эти разрешения вашему приложению.

Если ваше приложениеперечисляет опасные разрешения в своем манифесте (то есть разрешения, которые могут потенциально повлиять на конфиденциальность пользователя или нормальную работу устройства), такие как разрешение SEND_SMS выше, пользователь должен явно дать согласие на предоставление этих разрешений.
Обзор разрешенийДокумент

Просто укажите ниже разрешение в вашем манифесте

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

Приложения, желающие использовать службы переднего плана, теперь должны сначала запросить разрешение FOREGROUND_SERVICE. Это нормальное разрешение, поэтому система автоматически предоставляет его запрашивающему приложению. Запуск службы переднего плана без разрешения вызывает исключение SecurityException.

Решение состоит в том, чтобы просто добавить следующее в AndroidManifest.xml:

<manifest ...>
     ...
     <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
     ...
     <application ...>
     ...
</manifest>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...