【问题标题】:Android 6 Marshmallow Black Screen after set Permission to Never Ask AgainAndroid 6 Marshmallow 黑屏设置权限后不再询问
【发布时间】:2016-01-07 08:14:19
【问题描述】:

我有这种非常奇怪的行为。

在运行时为我的应用添加权限后,我正在检查和测试所有情况。

我的 MainActivity 中有请求代码。

所以,在我设置 Never Ask Again 并拒绝授予 ACCESS_FINE_LOCATION 的权限后,如果我按下菜单按钮然后重新启动应用程序(我猜应用程序将调用 MainActivity 的 onResume),那么屏幕是黑色的,除了一个矩形屏幕中间的部分,大小不一。 (不是AlertDialog的大小)

这里有一些截图:

普通屏幕

按菜单后再次打开可以是正常打开,也可以是以下几种状态:

或者

这很奇怪,以前有人吃过吗?

感谢您的回答!

【问题讨论】:

    标签: android permissions screen android-6.0-marshmallow


    【解决方案1】:

    不看代码,很难给出非常准确的答案。

    在请求权限时,如果用户选择了“不再询问”,请求权限响应将被拒绝。我猜测(由于缺少代码)您的应用程序依赖于授予的权限来继续加载 UI 并执行更多代码,如果权限被拒绝,它将不会这样做。在请求运行时权限时,您需要处理所有可能的响应。

    如果获得许可:一切顺利 如果许可被拒绝:检查您是否应该显示许可理由。这意味着您向用户显示一条消息,说明您需要该权限的原因。

    如果 shouldShowRationale 为真:这意味着“不再询问”未被选中。显示消息,然后再次请求许可。

    如果应该显示 Rationale 为 false:这意味着“不再询问”已被选中,您可能应该将用户引导至应用设置以在需要时打开权限。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-31
      • 2022-10-07
      • 1970-01-01
      • 2018-06-26
      • 1970-01-01
      相关资源
      最近更新 更多