这个问题在这里已有答案:
我希望我的应用程序每次运行应用程序时都要求位置权限。
设备似乎记得早先已经授予了权限,并且在后续执行应用程序时不会要求它们。
有没有办法重置/卸载应用程序,以便我可以看到我的新问题权限代码是否有效?
谢谢。
如果是出于调试目的,您可以在设置 - >应用程序 - > YourApp - >存储 - >清除数据中找到您的应用程序。这将删除您在应用空间中存储的所有内容,包括首选项和权限。这样您就可以运行代码并重新开始。在较旧的Android版本中,您可以通过长按应用程序图标并选择应用程序信息来找到相同的屏幕。如果您希望在运行时与用户进行相同的操作,则可以使用以下代码在每次关闭应用程序时手动清除数据:
((ActivityManager)context.getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();
(这需要最小的sdk为19)。如果您的最小目标年龄超过19,那么还有其他方法可以做到。 Check this answer。
如果您只想检查更新,请问权限代码是否正常工作
只需转到设置>应用>您的应用>应用信息>权限>位置
禁用该权限,重新启动App后,您将再次看到运行时权限对话框!