Android AccountPicker'添加帐户'doesen't刷新选项
问题描述:
当我的应用程序启动时,我想要求我的用户创建一个Account
或从现有的选择。我已经实施了一个Authenticator
(扩展AccountAuthenticatorActivity
,AbstractAccountAuthenticator
,作了Service
)它似乎工作,我可以从设置/帐户创建新帐户。Android AccountPicker'添加帐户'doesen't刷新选项
当我开始AccountPicker
时,我得到一个已经创建的帐户列表。当我点击Add acccount
时,它显示我的Account
创建Activity
。但是当我完成帐户创建,完成该活动并返回到AccountPicker
时,我没有看到新创建的Account
的新选项。虽然如果我重新启动应用程序,最近创建的Account
在列表中。
如何我开始AccountPicker
:
Intent intent = accountManager.newChooseAccountIntent(null, null, new String[]{"test_namespace"}, null, null, null, null);
startActivityForResult(intent, TEST_CODE);
我的问题:
- 难道这就是喜欢这个工作?
- 在我创建新的
Account
之后,我可以重新加载AccountPicker
的内容吗? - 我可以只是简单地返回
Intent
与新创建Account
当我 返回从我的Account
创建Activity
?
答
在我的认证活动,用户将我检查现有的账户,并明确添加该帐户在服务器上进行身份验证后,如果它不存在:
boolean accountRegistered = false;
Account account = new Account(username, AccountAuthenticator.ACCOUNT_TYPE_MYAPP);
AccountManager acctMgr = AccountManager.get(this);
Account[] accounts = acctMgr.getAccountsByType(AccountAuthenticator.ACCOUNT_TYPE_MYAPP);
for (Account acct : accounts) {
if (acct.equals(account)) {
accountRegistered = true;
break;
}
}
if (accountRegistered) {
acctMgr.setPassword(account, password);
} else {
acctMgr.addAccountExplicitly(account, password, null);
}
我做到这一点后,我看到帐户账户选择器。
我不能保证这是100%正确的;没有证件的认证课程,我们都是盲目的。