2017-01-02 7 views
0

Когда мое приложение запустится, я хотел бы попросить моих пользователей создать Account или выбрать из существующих. Я реализовал Authenticator (расширенный AccountAuthenticatorActivity, AbstractAccountAuthenticator, сделанный Service) Кажется, что я работаю, я могу создать новые учетные записи из настроек/учетных записей.Android AccountPicker 'Добавить аккаунт' не обновляет параметры

Когда я начинаю 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); 

Мои вопросы:

  • должен ли он работать, как это?
  • Могу ли я перезагрузить содержимое AccountPicker после того, как я создал новый Account?
  • Могу ли я просто возвращать Intent с вновь созданной Account когда я вернулся из моего Account создания Activity?

ответ

0

В моем аутентификаторе деятельности, после проверки подлинности пользователя на сервере я проверить существующие учетные записи и явно добавить учетную запись, если это не было:

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% правильно; с недокументированными классами проверки подлинности мы все летаем слепыми.

Смежные вопросы