2011-05-13 32 views
8

当我看到,用户在客户经理没有帐户,我尝试做以下用户发送到帐户设置的活动,让他们创建一个帐户。中的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说从你的主线程中调用这可能会导致死锁。执行这种类型的操作的最佳方法是什么,并且任何人都有一个很好的代码示例:

+0

为什么不带他们直接到你的登录屏幕?这似乎是在正常不过的事情 – 2011-05-13 23:04:42

+0

@Joseph我使用的AccountManager登录用户特(Twitter/Facebook的等),你有如何做到这一点的例子吗? – 2011-05-17 21:08:44

+0

你最终解决了这个问题吗?怎么样? – akirk 2012-07-24 10:42:02

回答

1

http://developer.android.com/resources/samples/SampleSyncAdapter/index.html 你可以使用这种方式...实现身份验证服务和活动,并登录后,你可以保存在由活动共享偏好的凭证......

权威性的活动通常可以通过意图被调用

+0

“您可以通过活动在共享首选项中保存凭据”=>一个笑话? accountManager的主要目标是避免您将凭证存储在您的应用程序中! – 2013-09-16 12:47:28

+0

我的意思是一些登录令牌;) – David 2013-09-17 14:44:48

相关问题