Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Add Account in AccountManager can lead to deadlock

When I see that the user has no accounts in account manager I'm trying to do the following to send the user to the account settings activity and have them create an account.

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);

This is throwing an IllegalStateException saying calling this from your main thread can lead to deadlock. What is the best way to perform this type of operation, and does anyone have a good code example of this in action?

like image 711
Abdullah Jibaly Avatar asked May 13 '11 17:05

Abdullah Jibaly


1 Answers

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html you could use it this way ... implement auth service and activity, and after logging in, you could save credentials at shared preferences by activity ...

auth activity can be invoked normally by intent

like image 51
David Avatar answered Nov 15 '22 00:11

David