在迁移我的一个应用程序以使用 Android 6.0 权限系统时,我发现使用模拟器调试权限非常困难。
发现:
requestPermissions()
使用该方法时,在应用信息屏幕中禁用权限不会重新显示授予权限对话框。- 重新安装应用程序似乎是使应用程序再次显示授予权限对话框的唯一方法。
使用 Android 模拟器调试权限的正确方法是什么?
在迁移我的一个应用程序以使用 Android 6.0 权限系统时,我发现使用模拟器调试权限非常困难。
发现:
requestPermissions()
使用该方法时,在应用信息屏幕中禁用权限不会重新显示授予权限对话框。使用 Android 模拟器调试权限的正确方法是什么?
调试 Android 6.0 权限实际上非常容易。您可以使用以下 ADB shell 命令将当前前台应用程序 所有应用程序的权限重置为“安装状态” :
adb shell pm reset-permissions
注意:目前您无法重置特定包的运行时权限,包管理器 (pm) 工具帮助部分指出:
将所有运行时权限恢复为其默认状态。
reset-permissions
您可以使用 Android Studio 中的终端界面轻松执行命令。请注意,ADB 命令仅在将 ADB 目录添加到 PATH 系统环境变量时才有效(请参阅:将 ADB 添加到路径变量)。
您还可以使用以下方法重置/撤销特定权限:
adb shell pm revoke com.your.package android.permission.WRITE_EXTERNAL_STORAGE
此命令的一个缺点是它会重新启动您的应用程序,但这不会重置所有应用程序的运行时权限。授予权限替换revoke
为grant
.