2015-09-04 60 views
5

使用Android Marshmallow有一个新的权限模型。实施新模式对于我受影响的应用程序权限并不是什么大问题。但是围绕安装和更新行为存在一些问题。我确定了一些对我很重要的场景。我知道官方文件(https://developer.android.com/preview/features/runtime-permissions.html),有些事情可能很清楚,但我想确定。Android M权限安装/更新行为

  1. 应用程序与目标SDK最大。 22安装在M设备上并授予所有权限 - >使用新的权限模式更新应用程序

  2. 应用程序与目标SDK最大。安装一个M设备上的22和所有的权限被拒绝 - 新的权限模型>更新应用程序

  3. A M设备

  4. 应用与目标SDK 22或23,并授予所有权限上安装与目标SDK 23应用程序 - >添加一个已授予的组权限(read_storage)和另一组的新权限的新权限(read_contacts)

  5. 应用与目标SDK 23和read_contacts授予 - >从联系人组添加一个权限(write_contacts)

回答

5

使用开发者控制台和Android测试版测试我测试了我自己的场景。这是我的结果。他们中的大多数与我的期望相符,但我也想总结一下。也许这有助于你们中的一个人有相同的问题,只是想知道它是否像预期的那样行事。并没有声称这是完整的。

  1. 应用程序与目标SDK最大。装22的M设备上,并授予所有权限 - 新的权限模型

    • >更新应用程序与目标SDK应用程序更新后,23个权限仍然授予
  2. 应用与目标SDK最大。安装一个M设备上的22和所有的权限被拒绝 - 与目标SDK应用程序更新23个权限仍然被剥夺

  3. 安装的应用程序与目标SDK 23上后,用新的权限模型

    • >更新应用程序中号装置

      • 没有安装所有的权限被拒绝后安装,需要被授予任何用户交互或通知
      • - >权限对话框出现等实现
    • 应用与目标SDK 22或23,并授予所有权限 - >添加的已经授予组权限(read_storage)和另一个基团的新权限的新权限(read_contacts)

      • 具有write_storage自动授予read_storage
      • read_contacts仅请求read_contacts(开发者控制台仅显示为APK这个特殊许可)
      • 的(开发者控制台已经在为APK的权限信息添加此)梅利授予的权限都OK,read_contacts需要被授予
    • 应用与目标SDK 23和read_contacts授予 - >从联系人组添加一个权限(write_contacts)

      • 任何特殊处理,允许可无需任何进一步的用户交互
      • 旧设备(目标最多22个)使用的用户不被通知关于新权限,他将在开发者控制台write_contacts的权限是可见的时候就已经授予组权限
      • IBLE,但未标记为新的(在APK的许可信息)
+0

你知道这个问题的答案的http://stackoverflow.com/questions/33807088/android-m-upgrade-my-app -with-a-new-permission – Bonton255

+0

从API 22到23,操作系统升级怎么样? –