¿Quién y cuándo debe llamar al método confirmCredentials de la clase AbstractAccountAuthenticator-based?
No entiendo cómo funciona el método confirmCredentials
. Nunca he visto ninguna opción en la interfaz de usuario de Android como "Confirmar credenciales" o algo así, sólo hay "Crear cuenta" y "Eliminar cuenta".
- No se puede agregar nueva cuenta personalizada desde una aplicación diferente con el mismo autenticador
- Android AccountManager lanza AuthenticatorException: falla de enlace al agregar cuenta
- Permisos de concesión de API de GMail antes de la excepción UserRecoverableAuthUIE
- Usar bloqueo de pantalla en mi aplicación
- ¿Cómo mantener la sesión en android?
- Android: lee las preferencias establecidas en authenticator xml
- Crear una cuenta personalizada android
- Autenticador Android inicia la pantalla de inicio de sesión cuando no hay cuenta presente
- ¿Cómo GitHub aplicación androide forzar la autenticación?
- AccountManager no agrega una cuenta personalizada en la vista previa de Android N
- Android: Conjunto de cuentas Juego de luz
- ¿Por qué AccountManager.addAccount puede devolver false de forma explícita?
- Compartir AccountAuthenticator personalizado entre aplicaciones
Se utiliza si desea utilizar la cuenta de Gmail en el dispositivo como método de verificación. NFCSecure lo usa cuando abre la aplicación, forzándolo a iniciar sesión con su gmail.
public void verifyAuth(Bundle b) throws IllegalArgumentException { accountManager.confirmCredentials(getImportantAccount(importantEmail), b, (Activity) c, new OnConfirmed(), null); } public void attemptLogin() { mEmailView.setError(null); mPasswordView.setError(null); mEmail = mEmailView.getText().toString(); mPassword = mPasswordView.getText().toString(); boolean cancel = false; View focusView = null; if (TextUtils.isEmpty(mPassword)) { mPasswordView.setError(getString(R.string.error_field_required)); focusView = mPasswordView; cancel = true; } else if (mPassword.length() < 4) { mPasswordView.setError(getString(R.string.error_invalid_password)); focusView = mPasswordView; cancel = true; } if (TextUtils.isEmpty(mEmail)) { mEmailView.setError(getString(R.string.error_field_required)); focusView = mEmailView; cancel = true; } else if (!mEmail.contains("@")) { mEmailView.setError(getString(R.string.error_invalid_email)); focusView = mEmailView; cancel = true; } if (cancel) { focusView.requestFocus(); } else { mLoginStatusMessageView.setText(R.string.login_progress_signing_in); showProgress(true); gAuth = new GoogleAuthentication(ctx, mEmailView.getText().toString()); gAuth.setUserConfirmedListener(SettingsUnlockActivity.this); Bundle b = new Bundle(); b.putString(AccountManager.KEY_PASSWORD, mPasswordView.getText().toString()); try { gAuth.verifyAuth(b); } catch (IllegalArgumentException e) { doUnSuccessfulLogin(); } } }
- Cómo leer datos de un búfer específico con glreadpixels basado en GLES30 en Android
- Los controles de YouTube (reproducción / pausa) no funcionan después de restaurar el reproductor / se reanuda la actividad