Nice, thanks for doing that! I'll star it, I hope we get a response soon.
On Mon, Nov 23, 2009 at 5:32 PM, Jerry Brady <jerry.br...@gmail.com> wrote: > Just filed a case for this: > > http://code.google.com/p/android/issues/detail?id=5009 > > On Nov 23, 1:47 pm, Jerry Brady <jerry.br...@gmail.com> wrote: > > Dan, > > > > My code and yours both work on the Droid, but there are some nasty > > side-effects. After adding an account with your application (or mine) > > whenever you visit the "Accounts & Sync" settings screen, the system > > crashes hard and reboots. > > > > 11-23 13:21:34.863: WARN/dalvikvm(1011): threadid=13: thread exiting > > with uncaught exception (group=0x4001b180) > > 11-23 13:21:34.863: ERROR/AndroidRuntime(1011): Uncaught handler: > > thread android.server.ServerThread exiting due to uncaught exception > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): *** EXCEPTION IN > > SYSTEM PROCESS. System will crash. > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): > > java.lang.NullPointerException > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > com.android.settings.ManageAccountsSettings.onSyncStateUpdated > > (ManageAccountsSettings.java:187) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > com.android.settings.ManageAccountsSettings.onAccountsUpdated > > (ManageAccountsSettings.java:244) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > android.accounts.AccountManager$10.run(AccountManager.java:389) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > android.os.Handler.handleCallback(Handler.java:587) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > android.os.Handler.dispatchMessage(Handler.java:92) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > android.os.Looper.loop(Looper.java:123) > > 11-23 13:21:34.879: ERROR/AndroidRuntime(1011): at > > com.android.server.ServerThread.run(SystemServer.java:428) > > > > I'm looking at the source now to see if I can figure out what's going > > on. If necessary, I'll file a case with the project if I find a bug > > in the Android source. > > > > Cheers, > > Jerry > > > > On Nov 23, 8:18 am, Jerry Brady <jerry.br...@gmail.com> wrote: > > > > > > > > > I'm going to be trying it on a Droid this morning. > > > > > On Nov 21, 10:07 pm, Dan Dumont <ddum...@gmail.com> wrote: > > > > > > I get that exception in the emulator ( doesn't reboot though ) > > > > > > I thought it was due to missing pieces of the emulator... > > > > > > does logcat output anything? > > > > > > On Sat, Nov 21, 2009 at 7:07 PM, NitroDesk <gsuku...@gmail.com> > wrote: > > > > > Any of you folks tried this on a Droid? > > > > > Simply installing the project that contains an Authenticator in the > > > > > manfest and the other related items seems to cause the "Add > Account" > > > > > option in the account list on te droid to simply reoot the phone > with > > > > > an exception. > > > > > Anyone else seen this or find a way to avoid this ? > > > > > -g > > > > > > > On Nov 21, 9:04 am, Jerry Brady <jerry.br...@gmail.com> wrote: > > > > > > Dan, > > > > > > > > Now I see what you are doing in your code and found the reference > to > > > > > > AddAccountExplicitly(). I want to skip returning an intent to > fire > > > > > > the an AccountAuthenticatorActivity and instead to return > > > > > > KEY_ACCOUNT_NAME and KEY_ACCOUNT_TYPE directly from my > > > > > > AbstractAccountAuthenticator's addAccount method whereas your > code > > > > > > returns an intent that fires your authentication activity. > > > > > > > > The main issue for me so far is that I don't see that my > > > > > > AbstractAccountAuthenticator is ever being instantiated. > > > > > > > > Cheers, > > > > > > Jerry > > > > > > > > On Nov 20, 7:53 am, Dan Dumont <ddum...@gmail.com> wrote: > > > > > > > > > Yes. But I make the AddAccountExplicitly call in my > Authenticator. > > > > > You > > > > > > > use theAccountManagerto create accounts. > > > > > > > If you call AddAccountExplicitly from a non-authenticator > class, I > > > > > guess it > > > > > > > will work... But I think the security behind it will mean that > only > > > > > the > > > > > > > class that created the account will be able to ever modify it > or > > > > > extract the > > > > > > > password. > > > > > > > > > This is why they have a framework for you to get an authtoken > returned > > > > > via > > > > > > > the authenticator... the logic for authenticating should be > buried > > > > > within > > > > > > > there, because it will be the only class allowed to peak at the > > > > > password and > > > > > > > send it wherever you are authenticating. > > > > > > > > > On Fri, Nov 20, 2009 at 2:16 AM, sukumar bhashyam < > > > > > > > > > bhashyam.suku...@gmail.com> wrote: > > > > > > > > AddAccountExplicitly() would need Authenticator of same type. > > > > > > > > > > I created an Authenticator and called AddAccountExplicitly() > for the > > > > > same > > > > > > > > type which created an account ( Could verify it from > > > > > > > >AccountManager.getAccounts()) > > > > > > > > > > One strange thing I observer is none of the implementation > class > > > > > functions > > > > > > > > of AbstractAccountAuthenticator is being called. I followed > the exact > > > > > steps > > > > > > > > in documentation. Not even onCreate or onBind function is > called. > > > > > Anyone > > > > > > > > seen this problem?. Is your AbstractAccountAuthenticator > > > > > implemetation class > > > > > > > > being invoked?. > > > > > > > > Thanks. > > > > > > > > > > On Thu, Nov 19, 2009 at 8:26 PM, Jerry Brady < > jerry.br...@gmail.com > > > > > >wrote: > > > > > > > > > >> Dan, > > > > > > > > > >> Thanks for all of this. I just returned to the office and > will be > > > > > > > >> taking a look to see how much further I can get and I will > certainly > > > > > > > >> be interested in helping with your accounts project. > > > > > > > > > >> I got as far as getting my account to show up in the list of > > > > > accounts > > > > > > > >> along with Google, Facebook and Exchange, but my service > never gets > > > > > > > >> called. My addAccount() method doesn't return an intent, > but rather > > > > > > > >> KEY_ACCOUNT_NAME and KEY_ACCOUNT_TYPE in it's bundle to let > the > > > > > > > >> account request succeed. > > > > > > > > > >> My goal is to create an account that will only be used by my > > > > > > > >> application and does not need to have any features to enable > > > > > external > > > > > > > >> authentication or account configuration. > > > > > > > > > >> I've also tried AddAccountExplicitly() but I can't seem to > get > > > > > around > > > > > > > >> its UID restrictions. The calling activity and the > authenticator > > > > > > > >> service all belong to the same application so I'm not sure > why the > > > > > > > >> system still throws an error about the UID not being > correct. > > > > > > > > > >> Cheers, > > > > > > > >> Jerry > > > > > > > > > >> On Nov 13, 11:54 pm, Dan Dumont <ddum...@gmail.com> wrote: > > > > > > > >> > For anyone still interested. I've made a bit of > progress. The > > > > > > > >> google > > > > > > > >> > project below now creates and lists accounts of the type > for the > > > > > > > >> project! > > > > > > > > > >> > On Fri, Nov 13, 2009 at 9:39 PM, Dan Dumont < > ddum...@gmail.com> > > > > > wrote: > > > > > > > >> > > To facilitate the discussion around this topic, I've > started up > > > > > a > > > > > > > >> project > > > > > > > >> > > over here: > > > > > > > >> > >http://code.google.com/p/androidaccounts/ > > > > > > > > > >> > > <http://code.google.com/p/androidaccounts/>If anyone is > > > > > interested in > > > > > > > >> > > pitching in and writing some examples, let me know so I > can add > > > > > you. > > > > > > > >> > > The current state of the project is as far as I've > gotten to > > > > > > > >> understanding > > > > > > > >> > > what is available so far... and I'm stumped as to why > new > > > > > accounts > > > > > > > >> don't > > > > > > > >> > > seem to persist after their creation ( as far as the > > > > > AccountsTester > > > > > > > >> app is > > > > > > > >> > > concerned ). > > > > > > > > > >> > > On Fri, Nov 13, 2009 at 7:40 PM, Dan Dumont < > ddum...@gmail.com> > > > > > > > >> wrote: > > > > > > > > > >> > >> I've gotten a bit further than you. > > > > > > > > > >> > >> The account manager seems to want to store > AccountName+Type > > > > > pairs, > > > > > > > >> and > > > > > > > >> > >> have anAccountAuthenticatorhandle the storage and dirty > bits of > > > > > the > > > > > > > >> actual > > > > > > > >> > >> authentication and credential storage. > > > > > > > > > >> > >> You will need to create anAccountAuthenticatorfrom the > > > > > > > >> > >> AbstractAccountAuthenticator class. > > > > > > > >> > >> You will also need to define a Service in your app. > See > > > > > > > > http://developer.android.com/reference/android/accounts/AbstractAccou... > > > > > > > >> > >> This service must be set up in the Manifest like so: > (ripped > > > > > from > > > > > > > >> link > > > > > > > >> > >> above) > > > > > > > > > >> > >> <intent-filter> > > > > > > > >> > >> <action > > > > > android:name="android.accounts.AccountAuthenticator" /> > > > > > > > >> > >> </intent-filter> > > > > > > > >> > >> <meta-data > > > > > android:name="android.accounts.AccountAuthenticator" > > > > > > > >> > >> android:resource="@xml/authenticator" /> > > > > > > > > > >> > >> You can take a look at the link for what the resource > must > > > > > be... > > > > > > > > > >> > >> After you end up hooking all that crap up, you can do > this in > > > > > your > > > > > > > >> > >> service: > > > > > > > >> > >> public IBinder onBind(Intent intent) { > > > > > > > >> > >> IBinder ret = null; > > > > > > > >> > >> if > > > > > > > > (intent.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTIC > > > > > > > >> ATOR_INTENT)) > > > > > > > >> > >> ret = getAuthenticator().getIBinder(); > > > > > > > >> > >> return ret; > > > > > > > >> > >> } > > > > > > > > > >> > >> privateAccountAuthenticatorgetSametimeAuthenticator() { > > > > > > > >> > >> if (_aa == null) > > > > > > > >> > >> _aa = newAccountAuthenticator(this); > > > > > > > >> > >> return _aa; > > > > > > > >> > >> } > > > > > > > > > >> > >> So when you finally have all this set up. You should > see > > > > > your > > > > > > > >> account > > > > > > > >> > >> type listed in the AccountTester application next to > the > > > > > "Corporate" > > > > > > > >> type. > > > > > > > >> > >> To get anything meaningful to happen when you click > Add, you > > > > > need to > > > > > > > >> do > > > > > > > >> > >> this in yourAccountAuthenticator: > > > > > > > > > >> > >> public Bundle addAccount(AccountAuthenticatorResponse > response, > > > > > > > >> String > > > > > > > >> > >> accountType, String authTokenType, String[]... > > > > read more ยป > > -- > You received this message because you are subscribed to the Google > Groups "Android Developers" group. > To post to this group, send email to android-developers@googlegroups.com > To unsubscribe from this group, send email to > android-developers+unsubscr...@googlegroups.com<android-developers%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/android-developers?hl=en > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en