Android M CDD - 运行时权限要求

时间:2015-10-27 22:44:43

标签: android android-6.0-marshmallow android-compatibility

有人可以帮我理解以下CDD要求:

  

除非:

,否则不得为预安装的应用授予任何运行时权限      
      
  1. 用户同意可以在应用程序使用之前获得
  2.   
  3. 的   运行时权限与其意图模式相关联   预安装的应用程序设置为默认处理程序
  4.   

我有两个问题:

  1. 预安装的应用程序安装在 / system / app / system / priv-app 文件夹中。 AFAIK,属于这两个文件夹的APK会自动获得他们在其清单中声明的​​所有权限。如果我错了,请纠正我。但在M中,他们是否试图说即使应用程序是预先安装的系统应用程序,也应该在运行时提示用户,然后才能授予应用程序此权限。

  2. 什么是“意图模式”?是否与Dialer应用程序有权拨打电话相同?

1 个答案:

答案 0 :(得分:4)

这可能是一种迟到的答案,但你的两个假设是正确的。

安装在 / system / app / system / priv-app 下的预安装应用将被授予他们在AndroidManifest.xml文件中声明的所有权限。但对于使用Android 6.0 Marshmallow的设备,Google需要两件事:

  1. 预安装的应用应定位到Android 6.0(API级别23)。
  2. 他们应该像非系统应用程序那样请求dangerous permissions的运行时权限。
  3. 这些是预安装的应用符合CDD / CTS标准所必需的。

    如果用户将该应用程序设置为特定操作的默认设置(意图模式的默认处理程序),则只有上述例外:

      

    运行时权限与意图模式相关联   将预安装的应用程序设置为默认处理程序

    例如,如果您将Google日历设置为日历活动的默认处理程序,则表示您授予其访问日历的权限。