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