Грант АБР не работает для некоторых разрешений на Android 10 - PullRequest
0 голосов
/ 04 марта 2020

Я пробую новый android 10 и проверяю его различия с предыдущими версиями. Я попытался предоставить некоторые разрешения через ADB, который раньше работал на Android 9, но безрезультатно.

Поскольку это связано с АБР, я не уверен, где это проверить, документация, но вот что я пробовал:

pm grant my.package.app android.permission.ACCESS_BACKGROUND_LOCATION // permission granted
pm grant my.package.app android.permission.READ_PHONE_STATE // no error no permission granted
pm grant my.package.app android.permission.RECORD_AUDIO // no error no permission granted
pm grant my.package.app android.permission.WRITE_EXTERNAL_STORAGE // no error no permission granted
pm revoke my.package.app android.permission.READ_PHONE_STATE // permission revoked
pm revoke my.package.app android.permission.RECEIVE_SMS // permission revoked

Это все разрешения, объявленные в файле AndroidManifest.xml, странно, что работал только новый ACCESS_BACKGROUND_LOCATION, но ни одно из существующих разрешений не работало. Я считаю, что имена разрешений правильные, потому что они работают при отзыве.

В качестве альтернативы я попытался найти строку для этих разрешений и использовать команду appops, но она тоже не сработала.

Любая помощь приветствуется.

РЕДАКТИРОВАТЬ:

После дальнейшего изучения я заметил, что когда приложение Freshly установлено, то я использую pm grant все работает как положено , Однако после отказа в разрешении вручную (из настроек) pm grant больше не работает

1 Ответ

0 голосов
/ 04 марта 2020

Я столкнулся с документом об изменениях конфиденциальности для Android 10. Похоже, что Android перестает поддерживать чтение состояния телефона, начиная с Android 10.

Копировано с Android Веб-сайт

Если ваше приложение нацелено на Android 10 или выше, возникает исключение SecurityException.

Если ваше приложение нацелено на Android 9 (уровень API 28) или ниже, метод возвращает нулевое значение или данные-заполнители, если приложение имеет разрешение READ_PHONE_STATE. В противном случае возникает исключение SecurityException.

Для получения более подробной информации см. Ссылку ниже.

https://developer.android.com/about/versions/10/privacy/changes#proc - net -filesystem

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