ACCOUNT_MANAGER - “仅授予系统应用权限”

时间:2017-10-19 06:23:20

标签: android android-studio

我按照发现here at android developer的说明进行操作。这些说明将这两行代码添加到清单中:

<manifest ... >
    <uses-permission android:name="android.permission.ACCOUNT_MANAGER" />
    <uses-permission android:name="android.permission.INTERNET" />
    ...
</manifest>

问题是我现在在“ACCOUNT_MANAGER”行上收到错误消息,说“仅授予系统应用权限”。

我的应用程序不是一个系统应用程序,我需要对OAuth2服务进行身份验证。如何使用OAuth2的任何应用程序成为系统应用程序?

有没有人知道如何使用ACCOUNT_MANAGER而不要求我的应用程序成为“系统应用程序”?

我查看了this questionthis question。他们说,对于他们列出的权限,错误是一个“假的”错误消息。有谁知道'ACCOUNT_MANAGER错误是否是假信息?我可以告诉编译器忽略这些,就像这些其他帖子中的建议一样吗?

1 个答案:

答案 0 :(得分:2)

来自documentation

  

字符串ACCOUNT_MANAGER

     

允许应用程序调用AccountAuthenticators。

     

不适用于第三方应用程序。

ACCOUNT_MANAGER权限只能授予系统应用

如果您的应用需要AccountManager,您可以创建一个类似于此tutorial

的AccountAuthenticator服务

或者您可以按照this answer

中的说明申请MANAGE_ACCOUNTS权限
  

MANAGE_ACCOUNTS:API文档对此并不清楚   允许。但根据布莱恩斯的回答,一个应用程序只能   删除/修改自己创建的帐户。当然它可以创造   任何新帐户,并管理它。