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 the AccountManager to 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[] requiredFeatures, > Bundle > > > >> > >> options) throws NetworkErrorException { > > > >> > >> Bundle ret = new Bundle(); > > > >> > >> Intent intent = new Intent(_context, > > > >> > >> AccountAuthenticatorActivity.class); > > > >> > >> > intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, > > > >> > >> response); > > > >> > >> ret.putParcelable(AccountManager.KEY_INTENT, intent); > > > >> > >> return ret; > > > >> > >> } > > > > > >> > >> This basically says that... I'm going to prompt the user to > enter > > > >> > >> credentials using the MyAccountAuthenticatorActivity class. > > > >> > >> The MyAccountAuthenticatorActivity activity should probably > extend > > > >> the > > > >> > >> class AccountAuthenticatorActivity. Here's mine: > > > > > >> > >> public class MyAccountAuthenticatorActivity extends > > > >> > >> AccountAuthenticatorActivity { > > > >> > >> protected void onCreate(Bundle icicle) { > > > >> > >> super.onCreate(icicle); > > > >> > >> setContentView(R.layout.new_account); > > > >> > >> final Button done = > (Button)findViewById(R.id.new_account_done); > > > >> > >> final EditText server = > > > >> (EditText)findViewById(R.id.new_account_server); > > > >> > >> final EditText username = > > > >> > >> (EditText)findViewById(R.id.new_account_username); > > > >> > >> final EditText password = > > > >> > >> (EditText)findViewById(R.id.new_account_password); > > > >> > >> done.setOnClickListener(new OnClickListener() { > > > >> > >> public void onClick(View v) { > > > >> > >> Bundle result = new Bundle(); > > > >> > >> result.putString(AccountManager.KEY_ACCOUNT_NAME, > > > >> > >> username.getText().toString()); > > > >> > >> result.putString(AccountManager.KEY_ACCOUNT_TYPE, > > > >> > >> getString(R.string.ACCOUNT_TYPE)); > > > >> > >> setAccountAuthenticatorResult(result); > > > >> > >> finish(); > > > >> > >> } > > > >> > >> }); > > > >> > >> } > > > >> > >> } > > > > > >> > >> The bundle you would normally pass back if you had no Activity > to > > > >> enter > > > >> > >> credentials is passed back with > > > >> setAccountAuthenticatorResult(result); > > > >> > >> and finish(); > > > > > >> > >> That's about as far as i've gotten. When i click Add in the > > > >> > >> AccountsTester app, the activity to enter creds is launched, > and > > > >> whent he > > > >> > >> done button is pressed I get this message in the LogCat: > > > >> > >> 11-13 19:21:58.488: DEBUG/AccountsTester(291): account added: > > > >> > >> Bundle[{accountType=com.my.package.app.auth.account_type, > > > >> > >> authAccount=testaccout}] > > > > > >> > >> But the AccountsTester app refuses to display my accounts that > it > > > >> said it > > > >> > >> created. > > > >> > >> without being able to look at the source for at least the > > > >> AccountsTester > > > >> > >> app, I'm pretty stuck right now... > > > >> > >> Does anyone out there have ANY useful information on how to use > this > > > >> > >> stuff? Or is it all locked up in a buttbuddy secret vault > between > > > >> google > > > >> > >> and motorola? > > > > > >> > >> On Thu, Nov 12, 2009 at 8:27 PM, Jerry Brady < > jerry.br...@gmail.com > > > >> >wrote: > > > > > >> > >>> I'm trying to hook up a new account for an application to use > that > > > >> > >>> will ultimately sync PIM data. The application is already > working > > > >> for > > > >> > >>> API levels 3 & 4, but at API 5, I'm having some trouble with > the > > > >> > >>> introduction of accounts and the AccountManager. > > > > > >> > >>> I've searched the groups and the docs and gotten part way > there, but > > > >> > >>> for some reason there isn't any I can get an actual account > created. > > > >> > >>> I've tried both on the Moto Droid and in the emulator. > > > > > >> > >>> I have a service that implements everything as required by the > > > >> > >>> documentation for AbstractAccountAuthenticator. I've confirmed > that > > > >> my > > > >> > >>> account is not present my iterating the results from- Hide > quoted text - > > > > - Show quoted text -... > > > > 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