Где хранятся разрешения в Android?

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

Однако возникает вопрос: где Android хранит значения разрешений во время выполнения?

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

Искал во многих существующих ответах и ​​документах разработчиков, однако не смог найти никакой полезной информации в этом отношении. Любая помощь будет высоко ценится.


person OBX    schedule 10.02.2017    source источник
comment
Чего пытаетесь добиться? Разрешения предназначены для управления операционной системой, оставляя вам возможность запрашивать и проверять их.   -  person Stefan    schedule 10.02.2017
comment
Согласно этому потоку, они хранятся в оперативной памяти. groups.google.com/forum/#!topic/android-platform/ oD33RVVUBB8   -  person Prerak Sola    schedule 10.02.2017


Ответы (1)


Я не уверен, нашли ли вы ответ на этот вопрос или нет, но они хранятся в:

/data/system/users/0/runtime-permissions.xml

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

Дополнительные сведения см. в этом ответе.

person parkgrrr    schedule 25.05.2017