2010-06-21 18 views
8

Ich versuche, AccountManager zu verwenden, um Kontoinformationen zu speichern, und habe einen Authentifikator implementiert, aber ich bekomme immer Ausnahmen wie die folgenden, die das Telefon zum Absturz bringen. Im Vergleich mit Beispielcode scheint dies zu sein, weil ich keinen SyncAdapter und damit verbundenen Service habe (oder besonders will). Gibt es einen Trick, um AccountManager zu verwenden, ohne einen SyncAdapter hinzuzufügen?AccountManager ohne SyncAdapter?

Grüße

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) 
+0

Briliiant Frage – Lyn

Antwort

7

ich das gleiche Problem haben. Ich habe einen AccountAuthenticator implementiert, der den Account direkt in der addAccount-Methode hinzufügt, da ich in meinem Fall keine Benutzereingabe benötige.

Ich erhalte die Ausnahme, nachdem ich das Konto erstellt habe und den "Accounts & Sync" Einstellungsbildschirm anzeigen möchte. Es ist kein Grund für die Erstellung, da es mit den "Dev Tools> AccountsTester" funktioniert.

bearbeiten: Ich denke, das ist die Erklärung, ich werde es versuchen.

„[...] Der Absturz durch eine nicht dokumentierte Annahme im Android-Code verursacht wird , die Konten und Synchronisierung verarbeitet. Sie sind sehr eng miteinander verbunden. Es stellt sich heraus, dass die‚Konten und Synchronisierung‘Einstellungen Plugin nach die Konten auf dem System zu erhalten, nutzt den Content-Service für Dienste auf dem System zu scannen, die die Absicht „android.content.SyncAdapter“ umzusetzen.

Da unser Code nicht implementiert hat, kam die Suche oben leere Hand und da der Code davon ausgegangen, würde dies nie passieren, BAM, Nullzeiger Ausnahme und Absturz. [...] "von: http://osdir.com/ml/Android-Developers/2009-11/msg05288.html

2

Am Ende musste ich einen SyncAdapter und einen ContentProvider hinzufügen. Nur die einfachsten Stub-Implementierungen, aber es schien den Job zu machen. Ich denke auch, dass ich das Problem nicht gefunden habe. t auftreten auf 2,2

Verwandte Themen