我已经实现了我的AccountManager身份验证器和服务以及整个交易,这一切似乎都运行良好.
但是,有一个小问题:我只希望我的应用程序的单个帐户存在于帐户管理器中,但似乎无法找到限制此方法的方法.
在添加新帐户之前,我是唯一可以进行搜索并删除当前帐户(按类型)的解决方案吗?
我目前的代码:
private void removeAccounts()
{
Account [] accounts = mAcctMgr.getAccountsByType (mAccountType);
if (accounts.length == 0) return;
final Handler handler = new Handler ();
AccountManagerCallback<Boolean> callback = new AccountManagerCallback<Boolean>()
{
@Override
public void run(AccountManagerFuture<Boolean> arg0)
{
// nada
}
};
for (Account a : accounts) {
mAcctMgr.removeAccount (a, callback, handler);
}
}
Run Code Online (Sandbox Code Playgroud)
我绝不会称之为优雅的解决方案,但此刻似乎是唯一有效的方法.
我正在进入Runtime Exception:Can't create handler inside thread that has not called Looper.prepare() while displaying the Toast message一个工人线程.
我有一个服务(在远程进程中运行),它创建一个对象.该对象负责连接到线程中的服务器.我得到了服务器的响应.我想在toast中显示来自服务器的消息.那时我得到了这个例外.我尝试使用handler.post在Handler中发布它.但我仍然得到例外.
应该采取什么方法来避免这种情况.