2015-12-05 2 views
0

Я работаю над приложением, которое требуетAndroid Зефир разрешения

`<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />` 

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

+0

Попробуйте это может быть работа http://stackoverflow.com/a/41221852/5488468 –

ответ

1

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

Диалоговое окно, показанное системой, описывает группу разрешений, к которой к вашему приложению требуется доступ; он не перечисляет конкретное разрешение. Например, если вы запрашиваете разрешение READ_CONTACTS, системное диалоговое окно просто говорит, что вашему приложению нужен доступ к контактам устройства. Пользователю необходимо предоставить разрешение только один раз для каждой группы разрешений. Если ваше приложение запрашивает любые другие разрешения в этой группе (перечисленные в манифесте вашего приложения), система автоматически предоставляет их. Когда вы запрашиваете разрешение, система вызывает ваш метод обратного вызова onRequestPermissionsResult() и передает PERMISSION_GRANTED, так же, как если бы пользователь явно предоставил ваш запрос через системное диалоговое окно.

Примечание. Приложению по-прежнему необходимо явно запрашивать все необходимые разрешения, даже если пользователь уже предоставил другое разрешение в той же группе. Кроме того, группировка разрешений на группы может измениться в будущих выпусках Android. Ваш код не должен полагаться на предположение, что определенные разрешения являются или не находятся в одной группе.

Например, предположим, что вы указали READ_CONTACTS и WRITE_CONTACTS в манифесте приложения. Если вы запрашиваете READ_CONTACTS, и пользователь предоставляет разрешение, а затем запрашивает WRITE_CONTACTS, система немедленно предоставляет вам это разрешение без взаимодействия с пользователем.

+0

это имеет большой смысл, учебник, который я следовал, не полностью охватывал эту часть. – Nilabja

Смежные вопросы