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

Reply via email to