GCM 在 JellyBean 及更高版本上不需要 android.permission.GET_ACCOUNTS。但是,我的应用程序适用于 API 级别 11 及更高级别,因此我需要在这些设备上声明它。
由于我不需要使用 GCM 以外的帐户,我只能在 API 级别 16 以下的 android 版本上注册此权限吗?我的应用程序非常注重安全性,因此避免此权限将是一个巨大的优势。
GCM 在 JellyBean 及更高版本上不需要 android.permission.GET_ACCOUNTS。但是,我的应用程序适用于 API 级别 11 及更高级别,因此我需要在这些设备上声明它。
由于我不需要使用 GCM 以外的帐户,我只能在 API 级别 16 以下的 android 版本上注册此权限吗?我的应用程序非常注重安全性,因此避免此权限将是一个巨大的优势。
没有价值执行此操作的标记。但是,您可以发布两个版本,一个用于 11-13 API,另一个用于 14+
但老实说,我不会为 11-13 的范围而烦恼。正如android 统计数据所示,只有约 1.6% 的用户正在使用其中一个版本。仅限于 11 岁以上的用户,潜在用户的损失仅为 4.4%,而且可能会随着时间的推移而下降。
添加 SDK 23 (Marshmallow) 后,您可以使用下面的新权限声明来表明应用程序只需要 API 23 或更高版本设备上的权限。
<uses-permission-sdk23>
来源:http: //developer.android.com/guide/topics/manifest/uses-permission-sdk23-element.html