Android: путаница в понимании разрешений во время выполнения - PullRequest
0 голосов
/ 25 января 2019

Я реализую разрешения времени выполнения в моем приложении.У меня есть несколько вопросов, чтобы понять их ясно.

Ситуация:

  • Мое приложение B является дочерним приложением приложение A
  • При этом мое приложение находится внутри приложения A как его части, и при необходимости я могу его запустить.

Вопрос:

  1. Если пользователь уже предоставил все необходимые разрешения времени выполнения для приложения A (родительского приложения), то может ли дочернее приложение, т.е. приложение B имеет такое же разрешение или оно должно запрашивать их снова?

  2. Нужно ли снова запрашивать разрешения, если я устанавливаю более новую версию приложения?поверх старого?Допустим, версии от 2 до 3.

1 Ответ

0 голосов
/ 29 января 2019

Технически, да. Если app-A и app-B являются двумя отдельными приложениями, каждому из них требуется собственный набор разрешений и запросов разрешений.

И нет, если разрешение ранее было разрешено, то установка более новой версии не сбрасывает состояние этого разрешения.

Однако, если вы хотите, чтобы app-B сохранял те же состояния разрешений, что и app-A, вам следует рассмотреть что-то под названием android: sharedUserId . Если приложение-A имеет тот же sharedUserId , что и приложение-B, то приложение-B будет иметь те же состояния разрешений, что и приложение-A, и наоборот.

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

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

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