Android M Permissions:遗漏了一些旧版本

时间:2016-05-29 08:05:13

标签: android

我必须实现新的权限系统,但我找不到我之前在android apss中使用的一些权限:

<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

例如:我用过:

<uses-permission android:name="android.permission.GET_ACCOUNTS" />

我现在可以用

替换它
<uses-permission android:name="android.permission-group.CONTACTS" />

因为GET_ACCOUNTS位于CONTACTS组中。 但是我发布的其他权限呢?它们未列在system permissions

中的任何位置

2 个答案:

答案 0 :(得分:4)

Android M中不存在以下权限。

<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />

因此,您可以在android:maxSdkVersion="22"标记中使用uses-permission来请求它们,如下所示:

 <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" android:maxSdkVersion="22"/>
 <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" android:maxSdkVersion="22" />
 <uses-permission android:name="android.permission.USE_CREDENTIALS" android:maxSdkVersion="22"/>

您可以详细了解here

至于最后的许可。那就是:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

您不需要使用权限请求,因为它是允许的。

答案 1 :(得分:1)

在API级别23中看起来某些权限已被弃用。如果您的目标是API 23,请适当注意(即在运行时请求“危险”权限的权限)。

我认为您仍应将它们保存在旧版SDK的清单文件中。