Как отладить / сбросить разрешения Android 6.0?

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

выводы:

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

что такое правильный метод отладки разрешения с помощью эмулятора Android?

1 ответов


на самом деле очень легко отлаживать разрешения Android 6.0. Вы можете сбросить разрешения в "состояние установки" для текущее приложение переднего плана все приложения используя следующую команду оболочки ADB:

adb shell pm reset-permissions

Примечание: в настоящее время вы не можете сбросить разрешения среды выполнения для определенного пакета, раздел справки инструмента package manger (pm) гласит:

отменить все разрешения на выполнения их состояние по умолчанию.

вы можете легко выполнить reset-permissions команда с помощью интерфейса терминала в Android Studio. Обратите внимание, что команды ADB работают только в том случае, если каталог ADB добавлен в переменную среды PATH system (см.:добавить ADB в переменную пути).

вы также можете сбросить/отменить специальные разрешения через:

adb shell pm revoke com.your.package android.permission.WRITE_EXTERNAL_STORAGE

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