如何让应用在每次运行时都要求获得位置许可?

时间:2019-02-14 08:01:16

标签: java android location android-permissions

我希望我的应用在每次运行时都请求位置许可。

设备似乎记得该权限是较早授予的,因此在以后执行该应用程序时不会要求它们。

有什么方法可以重置/卸载应用程序,以便我可以查看我的较新的询问权限代码是否有效?

谢谢。

2 个答案:

答案 0 :(得分:1)

如果用于调试目的,则可以在“设置”->“应用程序”->“ YourApp”->“存储”->“清除数据”中找到您的应用程序。这将删除您存储在应用程序空间中的所有内容,包括首选项和权限。这样,您可以运行代码并重新开始。在较旧的Android版本中,长按应用程序图标并选择应用程序信息可以找到相同的屏幕。如果您希望用户在运行时发生相同的事情,可以使用以下代码在每次关闭应用程序时手动清除数据:

((ActivityManager)context.getSystemService(ACTIVITY_SERVICE)).clearApplicationUserData();

(这要求最小sdk为19)。如果您的最低目标年龄大于19,则还有其他方法可以实现。 Check this answer

答案 1 :(得分:0)

如果您只想检查较新的询问权限代码是否有效

只需转到 设置 > 应用> 您的应用> 应用信息< / em> > 权限 > 位置

禁用该权限,重新启动应用后,您将再次看到运行时权限对话框!