可以使用以下代码来为应用添加一键保存凭据功能:
- 首先,将以下依赖项添加到应用程序中:
implementation 'com.google.android.gms:play-services-auth:19.0.0'
implementation 'androidx.browser:browser:1.3.0'
- 然后,在您的活动中,添加以下方法:
private void saveCredential(Credential credentials) {
Auth.CredentialsApi.save(googleApiClient, credentials).setResultCallback(
new ResultCallback() {
@Override
public void onResult(Status status) {
if (status.isSuccess()) {
// 保存凭据成功
} else {
// 保存凭据失败
}
}
});
}
- 在用户成功登录后,将调用 saveCredential() 方法:
Auth.GoogleSignInApi.silentSignIn( googleApiClient ).setResultCallback( new ResultCallback() {
@Override
public void onResult(GoogleSignInResult result) {
if (result.isSuccess()) {
GoogleSignInAccount account = result.getSignInAccount();
String id = account.getId();
String password = ...; // 从文本字段中获取密码
Credential credential = new Credential.Builder(id)
.setPassword(password)
.build();
// 保存凭据
saveCredential(credentials);
} else {
// 登录失败
}
}
});
通过以上步骤,您可以在您的应用程序中为用户添加一键保存凭据功能,使得用户可以更方便地登录您的应用程序,并且在部分设备上出现问题的几率也大大降低。