【问题标题】:Handling Android M run-time permissions with multi module project使用多模块项目处理 Android M 运行时权限
【发布时间】:2016-05-29 13:01:16
【问题描述】:

我有一个多模块 Android M 应用。有几个模块需要“WRITE_EXTERNAL_STORAGE”和“READ_EXTERNAL_STORAGE”权限。

我想向用户请求一次权限:
1. 在哪里做这件事合适?
1.1 是否为每个活动授予权限?
1.2 在模块 1 中请求权限会授予所有应用程序权限吗?
1.3 有没有办法同时要求 READ & WRITE 权限?

【问题讨论】:

    标签: android android-gradle-plugin android-manifest android-6.0-marshmallow android-permissions


    【解决方案1】:

    Google 已发布指南,说明何时请求权限。这取决于上下文。您的问题 1.1 和 1.2 可以用相同的信息来回答:在应用程序级别授予和拒绝权限。它适用于您的应用程序包的每个部分。对于 1.3:它们被限制在一起成为一个组。当您要求一个时,您会自动获得该组中的所有内容。

    来自 DroidconNYC NYC 的这次演讲将为您提供更多详细信息:https://youtu.be/WGz-alwVh8A

    【讨论】:

      【解决方案2】:

      哪里是合适的地方?

      在您需要这些权限之前,从您 UI 中的某个位置。

      是否为每个活动授予权限?

      不,它们适用于整个应用程序。

      在模块 1 中请求权限是否会授予所有应用程序权限?

      如果用户授予您权限,则在模块中请求权限会将权限授予整个应用程序。

      有没有办法同时要求 READ 和 WRITE 权限?

      在这种情况下,AFAIK 你不需要两者。只需询问WRITE_EXTERNAL_STORAGE。通常,您可以请求任意数量的权限; requestPermissions() 方法采用 String[] 的权限名称。

      【讨论】:

        猜你喜欢
        • 2016-03-25
        • 1970-01-01
        • 2017-07-25
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-22
        相关资源
        最近更新 更多