Android 安卓M权限安装/更新行为

Android 安卓M权限安装/更新行为,android,permissions,android-6.0-marshmallow,Android,Permissions,Android 6.0 Marshmallow,安卓棉花糖提供了一种新的许可模式。对我受影响的应用程序权限来说,实现新模型并不是什么大事。但在安装和更新行为方面存在一些问题。我确定了一些对我很重要的场景。我知道官方文件()和一些事情可能很清楚,但我想确定 在M设备上安装了目标SDK最大值为22且授予所有权限的应用程序->使用新权限模型更新应用程序 在M设备上安装了目标SDK最大值为22且所有权限均被拒绝的应用程序->使用新权限模型更新应用程序 在M设备上安装带有目标SDK 23的应用程序 目标SDK为22或23且已授予所有权限的应用程序->添

安卓棉花糖提供了一种新的许可模式。对我受影响的应用程序权限来说,实现新模型并不是什么大事。但在安装和更新行为方面存在一些问题。我确定了一些对我很重要的场景。我知道官方文件()和一些事情可能很清楚,但我想确定

  • 在M设备上安装了目标SDK最大值为22且授予所有权限的应用程序->使用新权限模型更新应用程序

  • 在M设备上安装了目标SDK最大值为22且所有权限均被拒绝的应用程序->使用新权限模型更新应用程序

  • 在M设备上安装带有目标SDK 23的应用程序

  • 目标SDK为22或23且已授予所有权限的应用程序->添加已授予组权限的新权限(读取存储)和另一组的新权限(读取联系人)

  • 目标SDK为23且已授予read\u contacts的应用程序->从contacts组添加其他权限(write\u contacts)


  • 使用开发者控制台和Android测试版,我测试了自己的场景。这是我的结果。大多数都符合我的期望,但我也要总结一下。也许这有助于你们中的一位提出同样的问题,只是想知道它的行为是否符合预期。没有人声称这是完整的

  • 在M设备上安装了目标SDK最大值为22且授予所有权限的应用程序->使用新权限模型更新应用程序

    • 使用目标SDK更新应用程序后,仍将授予23个权限
  • 在M设备上安装了目标SDK最大值为22且所有权限均被拒绝的应用程序->使用新权限模型更新应用程序

    • 使用目标SDK更新应用程序后,23权限仍被拒绝
  • 在M设备上安装带有目标SDK 23的应用程序

    • 安装时不需要任何用户交互或通知
    • 安装后所有权限均被拒绝,需要授予->权限对话框显示为“已实现”
  • 目标SDK为22或23且已授予所有权限的应用程序->添加已授予组权限的新权限(读取存储)和另一组的新权限(读取联系人)

    • 让write_存储自动授予read_存储(开发者控制台已经在APK的权限信息中添加了此项)
    • 只读联系人仅请求只读联系人(开发人员控制台仅显示APK的此特定权限)
    • 以前授予的权限正常,需要授予read_联系人
  • 目标SDK为23且已授予read\u contacts的应用程序->从contacts组添加其他权限(write\u contacts)

    • 无特殊处理,无需进一步用户交互即可使用权限
    • 在旧设备(目标最大22)上,不会通知用户新权限,因为用户已授予组权限
    • 在开发者控制台中添加write_联系人时,权限可见,但未标记为新权限(在APK的权限信息中)

  • 你知道这个问题的答案吗?关于操作系统升级,从API 22升级到API 23呢?