棉花糖权限实现

Marshmallow permission implementation

我正在尝试在我现有的 Android 应用程序中添加 Android 6.0 支持。我已经使用 SYNCADAPTER 来同步数据。它在 API 22 之前工作正常。但是在 23 (ANDROID 6.0) 他们已经删除了组权限 AUTHENTICATE_ACCOUNTS.

我找到了示例 how to get run-time permission,我用 AUTHENTICATE_ACCOUNTS 尝试了同样的方法,但它不起作用。

我也找到了一个,有没有和那个答案一样使用AUTHENTICATE_ACCOUNTS的技巧?

我找到了已删除的权限列表 overhere。所以如果我的应用程序使用列出的权限。在那种情况下,任何应用程序都可以在 Android M (6.0) 中运行吗?

AUTHENTICATE_ACCOUNTS 正如 google 项目经理所说,此权限不再存在。

Issue 2592: Requesting AUTHENTICATE_ACCOUNTS permission prompts to: 'Allow app to perform an unknown action'

We'll have to wait for a future preview revision to pursue this because the M revision 2 'key changes' section states: "Some accounts and identity permissions are moved to CONTACTS permissions group and others are removed or granted based on account type. In particular, android.permission.USE_CREDENTIALS, android.permission.MANAGE_ACCOUNTS, and android.permission.AUTHENTICATE_ACCOUNTS are ungrouped pending further changes in a later release." http://developer.android.com/preview/support.html

Android 6.0 不再需要 AUTHENTICATE_ACCOUNTS。

您可以在 uses-permission 元素上使用 android:maxSdkVersion="22" 从 Android 开始停止请求它6.0.

正如 CommonsWare 先生在评论中所提到的,this blog 有助于了解更多有关此问题的信息。