的AccountManager没有SyncAdapter? [英] AccountManager without a SyncAdapter?

查看:111
本文介绍了的AccountManager没有SyncAdapter?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要使用的AccountManager来存储账户信息和已实施身份验证,但我一直喜欢的那一声下方的电话越来越例外。样品$ C $比较C此似乎是因为我没有(或特别想)一个SyncAdapter和相关服务。有一招,用的AccountManager不添加SyncAdapter?

问候

菲尔

  I / AuthenticatorActivity(8526):onAuthenticationResult(真)
I / AuthenticatorActivity(8526):finishLogin()
W / dalvikvm(8108):主题ID = 13:线程退出与未捕获的异常(组= 0X
4001b170)
E / AndroidRuntime(8108):未捕获的处理程序:螺纹android.server.ServerThread前
由于未捕获的异常iting
E / AndroidRuntime(8108):***异常系统进程。系统会崩溃。
E / AndroidRuntime(8108):显示java.lang.NullPointerException
E / AndroidRuntime(8108):在com.android.settings.ManageAccountsSettings.o
nSyncStateUpdated(ManageAccountsSettings.java:187)
E / AndroidRuntime(8108):在com.android.settings.ManageAccountsSettings.o
nAccountsUpdated(ManageAccountsSettings.java:244)
E / AndroidRuntime(8108):在android.accounts.AccountManager $ 10.run(有分
tManager.java:826)
E / AndroidRuntime(8108):在android.os.Handler.handleCallback(Handler.jav
答:587)
E / AndroidRuntime(8108):在android.os.Handler.dispatchMessage(Handler.ja
VA:92)
E / AndroidRuntime(8108):在android.os.Looper.loop(Looper.java:123)
E / AndroidRuntime(8108):在com.android.server.ServerThread.run(SystemSer
ver.java:435)
 

解决方案

我有同样的问题。我实现了一个AccountAuthenticator,即直接在addAccount-方法添加的帐户,因为我并不需要用户输入我的情况。

我得到的异常后,我创建的帐户,并要查看的账户与同步preference屏幕。它不被创建引起,因为它的工作原理与开发工具> AccountsTester

编辑: 我认为这样的解释,我会尝试。

[...]这次事故是由于在Android code无证假设 处理账户和同步。他们的非常的密切相关。它 事实证明,获得后的账户和同步设置插件 系统上的帐户,使用内容的服务扫描 实现该意图的系统上的服务 android.content.SyncAdapter。

由于我们的code没有实现这一点,搜索就空手而归 并且因为code以为这永远不会发生,BAM,空指针 异常和崩溃。 <一:[...]从 href="http://osdir.com/ml/Android-Developers/2009-11/msg05288.html">http://osdir.com/ml/Android-Developers/2009-11/msg05288.html

I'm trying to use AccountManager to store account information and have implemented an authenticator, but I keep getting exceptions like the below that crash the phone. Comparing with sample code this seems to be because I don't have (or particularly want) a SyncAdapter and associated service. Is there a trick to using AccountManager without adding a SyncAdapter?

Regards

Phil

I/AuthenticatorActivity( 8526): onAuthenticationResult(true)
I/AuthenticatorActivity( 8526): finishLogin()
W/dalvikvm( 8108): threadid=13: thread exiting with uncaught exception (group=0x
4001b170)
E/AndroidRuntime( 8108): Uncaught handler: thread android.server.ServerThread ex
iting due to uncaught exception
E/AndroidRuntime( 8108): *** EXCEPTION IN SYSTEM PROCESS.  System will crash.
E/AndroidRuntime( 8108): java.lang.NullPointerException
E/AndroidRuntime( 8108):        at com.android.settings.ManageAccountsSettings.o
nSyncStateUpdated(ManageAccountsSettings.java:187)
E/AndroidRuntime( 8108):        at com.android.settings.ManageAccountsSettings.o
nAccountsUpdated(ManageAccountsSettings.java:244)
E/AndroidRuntime( 8108):        at android.accounts.AccountManager$10.run(Accoun
tManager.java:826)
E/AndroidRuntime( 8108):        at android.os.Handler.handleCallback(Handler.jav
a:587)
E/AndroidRuntime( 8108):        at android.os.Handler.dispatchMessage(Handler.ja
va:92)
E/AndroidRuntime( 8108):        at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 8108):        at com.android.server.ServerThread.run(SystemSer
ver.java:435)

解决方案

I have the same problem. I implemented a AccountAuthenticator, that adds the Account directly in the addAccount-method, because I don't need user input in my case.

I get the Exception after I created the Account and want to view the "Accounts & sync" preference screen. It isn't cause by the creation, because it works with the "Dev Tools > AccountsTester".

edit: I think this is the explanation, I will try it.

"[...] The crash is caused by an undocumented assumption in the Android code that handles accounts and sync. They are very closely related. It turns out that the "Accounts and Sync" settings plugin after getting the accounts on the system, uses the content service to scan for services on the system that implement the intent "android.content.SyncAdapter".

Since our code doesn't implement this, the search came up empty handed and since the code assumed this would never happen, BAM, null pointer exception and crash. [...]" from: http://osdir.com/ml/Android-Developers/2009-11/msg05288.html

这篇关于的AccountManager没有SyncAdapter?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆