【问题标题】:Can i skip asking Runtime Permissions on marshmallow?我可以跳过询问棉花糖的运行时权限吗?
【发布时间】:2016-11-19 14:08:31
【问题描述】:

现在这对我来说非常有趣,我主要了解运行时权限,并且我很清楚为什么提出运行时权限?以及我们如何使用它?但是在this question 中,这是关于由于这个运行时权限问题而出现的问题,一个人提出了一种相当新的方法来解决这个问题。

查看U.swap 对同一问题的回答,here 就是那个答案。

这个人提出了一个很好的可行的解决方案,用户只需批准一次权限,在他的余生中他不必担心所有运行时权限,应用程序将在棉花糖版本上运行和在 cmets 中讨论的棉花糖前版本可以看到我和 Commonsware 之间讨论的所有 cmets。

@NiteshPareek:这个答案没有什么可以阻止 在 Android 6.0+ 设备上运行的应用程序 -Commonsware

但这意味着我们可以购买通过运行时权限提出的安全性? @CommonsWare – Tapan parmar

@Tapanparmar:不,因为用户可以手动撤销权限 设置。拥有 targetSdkVersion 22 或更低意味着您的应用是 不会有任何运行时权限代码,所以用户需要 在安装时同意您请求的权限。这是如何 Android 从一开始就工作。 – CommonsWare

好的,所以应用程序将在棉花糖上运行而不显示权限? @CommonsWare - Tapan Parmar

@Tapanparmar:此时将向用户显示权限 该应用程序已安装。 – CommonsWare

好的,所以我们可以跳过这个提供的该死的权限,但是这样做有什么缺点吗? @CommonsWare

@Tapanparmar:用户可以选择不安装您的应用,如果他们不安装 就像预先授予所有权限一样。此外,其他行为 您可能希望基于更高的 targetSdkVersion 值可能会丢失。如果 您还有其他顾虑,请单独询问 Stack Overflow 问题。 – CommonsWare

所以我想知道这样做有什么实际缺点?以及 RunTimePermissions 的主要目的 security 会发生什么。 这样做真的更可取吗?

查看答案中的 cmets here 或查看下图

【问题讨论】:

    标签: android android-6.0-marshmallow android-version android-security runtime-permissions


    【解决方案1】:

    这样做有什么实际的缺点吗?

    如果用户不喜欢预先授予所有权限,他们可以选择不安装您的应用。此外,您可能希望基于更高的targetSdkVersion 值的其他行为可能会丢失。

    以及作为 RunTimePermissions 主要目的的安全性会发生什么

    什么都没有。您仍然需要所有 <uses-permission> 元素,并且用户仍然必须同意授予您权限。但是,该协议主要发生在安装时,而不是应用程序运行时。请记住,Android 6.0+ 设备的用户仍然可以通过“设置”应用撤销dangerous 级别的权限。

    这样做真的更可取吗?

    恕我直言,不。最终,某些事情将迫使您升级您的targetSdkVersion。而且,正如我所指出的,用户可能更愿意不安装您的应用程序,而与其他一些应用程序一起使用,该应用程序在安装时不会要求很多权限。对于不再维护的应用程序或缺乏经验的开发人员,使用低于 23 的 targetSdkVersion 是一个很好的答案。

    【讨论】:

    • 相当不错。和可以理解的@Commonsware
    猜你喜欢
    • 2017-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多