我按照发现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 question和this question。他们说,对于他们列出的权限,错误是一个“假的”错误消息。有谁知道'ACCOUNT_MANAGER错误是否是假信息?我可以告诉编译器忽略这些,就像这些其他帖子中的建议一样吗?
答案 0 :(得分:2)
字符串ACCOUNT_MANAGER
允许应用程序调用AccountAuthenticators。
不适用于第三方应用程序。
ACCOUNT_MANAGER权限只能授予系统应用
如果您的应用需要AccountManager,您可以创建一个类似于此tutorial
的AccountAuthenticator服务或者您可以按照this answer
中的说明申请MANAGE_ACCOUNTS权限MANAGE_ACCOUNTS:API文档对此并不清楚 允许。但根据布莱恩斯的回答,一个应用程序只能 删除/修改自己创建的帐户。当然它可以创造 任何新帐户,并管理它。