Android权限,"永远不要再问及#34;两难困境

时间:2017-04-18 22:05:40

标签: android permissions

所以,这就是我想要实现的目标:

用户点击按钮A,如果权限不在"再也不要再问"国家,直接问:

- >如果被授予,完美

- >如果被拒绝,什么都不做,用户再次点击,同样的东西再现。 如果"永远不再问及#34;已选中,然后显示一个弹出窗口以重定向到设置。

现在我知道我可以在被拒绝时使用shouldShowRequestPermissionRationale。但这是我的问题:

  1. 用户否认"永远不再问及#34;检查
  2. 我获得了拒绝许可
  3. 我检查了shouldShowRequestPermissionRationale,我发现它false,我知道它被永久拒绝了,我把它保存到缓存中。
  4. 我想再次请求许可。
  5. 我从缓存中读到我无法做到。
  6. 显示一个弹出窗口以重定向到设置。
  7. 用户启用+禁用相同的权限。
  8. 用户返回应用程序。
  9. 我想再次请求许可。
  10. BOOM:如果我依赖缓存,我会认为权限是永久禁用的,而如果我直接请求它,系统将显示权限弹出窗口" deny" "接受"

    我怎样才能解决这个问题,更重要的是,为什么公共API上没有任何内容可以在没有任何头痛的情况下知道如果某个权限是在“#34”之后再也没有问过"模式。

    谢谢大家

1 个答案:

答案 0 :(得分:0)

为什么需要将其存储在缓存中?

您可以执行相同的操作,为您提供您决定放入缓存的值。 即从等式中删除缓存。