Autenticación de Android: la devolución de llamada no se llama

Estoy implementando un sistema de autenticación en Android 4.2 usando la muestra de autenticación como ejemplo. En mi aplicación tengo una MenuActivity con la opción de inicio de sesión. Si se hace clic en esa opción y el usuario no ha iniciado sesión ya, mi sistema de autenticación se inicia y se muestra la AuthenticationActivity.

Cuando el inicio de sesión termina, quiero ejecutar algún código en MenuActivity para que sepa que el usuario ha iniciado sesión. Creé una devolución de llamada para hacerlo, pero nunca se llama. El inicio de sesión funciona bien, si cierro la aplicación y la vuelvo a iniciar detecta que el usuario ha iniciado sesión.

En mi Menú Actividad Tengo esto:

public void login() { if(mAccount != null) Toast.makeText(MenuActivity.this, getString(R.string.account_exists), Toast.LENGTH_LONG).show(); else{ mAccountManager.addAccount(ACCOUNT_TYPE, AUTHTOKEN_TYPE, null, null, this, completeCallbackLogin, null); } } // Callback called when the login ends. private AccountManagerCallback<Bundle> completeCallbackLogin = new AccountManagerCallback<Bundle>() { public void run(AccountManagerFuture<Bundle> arg0) { Log.d("MenuActivity", "CALLBACK"); // When the login ends we save the account in the global variables refreshAccount(); Toast.makeText(MenuActivity.this, getString(R.string.login_ok), Toast.LENGTH_LONG).show(); } }; 

En mi AuthenticatorActivity (llamado LoginActivity) hago lo siguiente:

 Account account = new Account(mUsername, ACCOUNT_TYPE); try{ mAccountManager.addAccountExplicitly(account, mPassword, newBundle()); }catch(Exception e){ e.printStackTrace(); return; } final Intent intent = new Intent(); intent.putExtra(AccountManager.KEY_ACCOUNT_NAME, mUsername); intent.putExtra(AccountManager.KEY_ACCOUNT_TYPE, ACCOUNT_TYPE); intent.putExtra(AccountManager.KEY_PASSWORD, mPassword); intent.putExtra(AccountManager.KEY_AUTHTOKEN, mAuthToken); intent.putExtra(AccountManager.KEY_BOOLEAN_RESULT, true); LoginActivity.this.setAccountAuthenticatorResult(intent.getExtras()); setResult(RESULT_OK, intent); LoginActivity.this.finish(); 

Como he dicho, mi devolución de llamada nunca se llama. ¿Porqué es eso?

[EDITAR]

Acabo de notar que si vuelvo a ejecutar la aplicación (Eclipse-> Ejecutar) la devolución de llamada se llama justo antes de mi solicitud se cierra para ser instalado de nuevo.

[/EDITAR]

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.