【问题标题】:How to make app ask for location permission each time it is run? [duplicate]如何让应用程序在每次运行时都请求位置许可? [复制]
【发布时间】:2019-02-14 08:01:15
【问题描述】:

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

设备似乎记得之前已授予权限,并且不会在应用程序的后续执行时要求它们。

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

谢谢。

【问题讨论】:

  • 检查这个 - stackoverflow.com/a/40142454/7649582 @Hitesh Godse
  • 清除数据即可。
  • 不可能,因为权限只授予一次(除非被用户撤销,或者重新安装应用/清除数据)

标签: java android location android-permissions


【解决方案1】:

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

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

(这需要 19 的最小 sdk)。如果您的最低目标超过 19 岁,还有其他方法可以做到这一点。 Check this answer.

【讨论】:

  • 谢谢。我会这样清除数据,
【解决方案2】:

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

只需转到设置 > 应用程序 > 您的应用程序 > 应用程序信息 > 权限 > 位置

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    • 2023-03-30
    • 1970-01-01
    • 2017-12-07
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多