【问题标题】:Android Marshmallow permissions best practicesAndroid Marshmallow 权限最佳实践
【发布时间】:2015-10-08 23:12:11
【问题描述】:

我有一个非常强大的 android 应用程序,它在各种活动和服务中进行大量磁盘访问,并且没有单点访问。这是很好的棉花糖前。 第一次询问权限并在权限被拒绝时进行处理是可以的,但如果用户在授予权限后撤销权限怎么办。现在我处于一种情况,我有 1000 行代码需要在多个地方进行权限检查。那么最好的做法是什么

1) 多个 if 检查听起来太费力了。

2) 毯子尝试捕捉

有没有更好的处理方法?

【问题讨论】:

    标签: android-permissions android-6.0-marshmallow


    【解决方案1】:

    您每次使用时都必须检查权限。为简单起见,您可以使用 PermissionAcceptor-master 库。

    几乎所有的权限都包含在这个库中。

    您必须使用 PermissionAcceptor-master 库添加几行代码,例如

    new PermissionRequest(MainActivity.this,
                Permission.PERMISSION_CAMERA,
                PermissionCode.CODE_PERMISSION_CAMERA,
                R.string.permission_camera_rationale,
                R.string.permission_camera_denied,
                R.string.permission_enable_message, this)
                .checkPermission();
    

    欲了解更多信息,请访问PermissionAcceptor-master

    【讨论】:

      【解决方案2】:

      我的应用程序遇到了类似的问题,即多个活动访问需要写入存储权限的 API。我最终有一个 BaseActivity 类,它在活动恢复时检查权限,如果未授予权限,它会将用户导航到初始活动。如果未授予权限,Initial 活动将永远不会让客户进行其他活动。

      【讨论】:

        【解决方案3】:

        如果用户在授予权限后撤销权限,则通过设置完成,在这种情况下,您的应用程序将关闭并重新启动。 BaseActivity 可能确实有助于处理onRequestPermissionsResult

        【讨论】:

          猜你喜欢
          • 2021-08-03
          • 2010-09-21
          • 1970-01-01
          • 2016-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-06-07
          相关资源
          最近更新 更多