我正在尝试在我的应用程序中添加功能,即使用方法
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帐户)?我应该使用哪种方法?
答案 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帐户的唯一选择是获取发送登录活动时发送的意图,并尝试发送相同的意图,要求用户输入帐户。进入后,您可以使用我提到的方法获取详细信息。