Tôi không hiểu phương thức confirmCredentials
hoạt động như thế nào. Tôi chưa bao giờ thấy bất kỳ tùy chọn nào trong giao diện người dùng Android như “Xác nhận thông tin xác thực” hoặc giống như vậy, chỉ có “Tạo tài khoản” và “Xóa tài khoản”.Ai và khi nào nên gọi phương thức confirmCredentials của lớp AbstractAccountAuthenticator?
6
A
Trả lời
1
Được sử dụng nếu bạn muốn sử dụng tài khoản Gmail trên thiết bị làm phương thức xác minh. NFCSecure sử dụng nó khi bạn mở ứng dụng, buộc bạn phải đăng nhập bằng gmail của bạn.
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();
}
}
}