使用AccountManager在应用程序中添加Google帐户

时间:2011-09-07 07:54:07

标签: android accountmanager google-login

我正在尝试在我的应用程序中添加功能,即使用方法 mAccountManager = AccountManager.get(getBaseApplicationContext());Account account = new Account("sample.account", "com.google");添加Google帐户到Android帐户管理员 ac.addAccountExplicitly(account, "password", null);
但它表示异常

  

java.lang.SecurityException:调用者uid 10117不同于   authenticato r's uid


是否可以在应用程序代码中添加帐户(更准确地记录到现有的Google帐户)?我应该使用哪种方法?

1 个答案:

答案 0 :(得分:1)

您需要使用与帐户类型相同的UID,但无法使用该软件包对其进行签名(它已被翻译为UID)“com.google”。

您可以使用以下方式获取帐户:

manager.getAccountsByType("com.google"); // returns array

或使用API​​级别14,您可以致电:

AccountManager.newChooseAccountsIntent(null, null, new String[]{"com.google"}, false, null, null, null, null);

如果您希望在早期版本中使用它,您可以获得源代码并在项目中实现相同的机制。

添加Google帐户的唯一选择是获取发送登录活动时发送的意图,并尝试发送相同的意图,要求用户输入帐户。进入后,您可以使用我提到的方法获取详细信息。