Добавить учетную запись в AccountManager может привести к взаимоблокировке

Когда я вижу, что у пользователя нет учетных записей в диспетчере учетных записей, я пытаюсь сделать следующее, чтобы отправить пользователя в действие настроек учетной записи и создать им учетную запись.

AccountManagerFuture<Bundle> addAccount = accountManager.addAccount(ACCOUNT_TYPE, TOKEN, null, null, MyActivity.this, // activity null, // callback null); // handler Intent result = (Intent) addAccount.getResult().get(AccountManager.KEY_INTENT); startActivity(result); 

Это бросает IllegalStateException говорящий, что вызов этого из основного потока может привести к тупиковой ситуации. Каков наилучший способ выполнить этот тип операции, и есть ли у кого-нибудь хороший пример кода в действии?

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html вы можете использовать его таким образом … реализовать службу и активность auth, и после входа в систему вы можете сохранить учетные данные в общих настройках по активности. ,

Auth-активность может быть вызвана обычно с помощью намерения