Sar*_*lar 4 android credentials google-play-services google-smartlockpasswords
我一直在关注https://developers.google.com/identity/smartlock-passwords/android/retrieve-credentials以尝试自动登录用户,如果他们已将凭据保存到 chrome 中的新 Android Smart Lock 功能。我完全遵循了指南,但是我传递给 setResultCallback() 的回调没有被调用。有没有人遇到过这个问题?
没有错误消息或任何东西,只是没有被调用。
问题很可能是谷歌API客户端没有连接,尝试调用你activityconnect()的onStart()方法,或者如果你使用的是最新版本的Play Services,我们添加了API客户端的自动管理,让这变得更容易,真正简化事情并避免常见问题。
只需enableAutoManage()在构建时调用GoogleApiClient:
// "this" is a reference to your activity
mCredentialsApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.enableAutoManage(this, this)
.addApi(Auth.CREDENTIALS_API)
.build();
Run Code Online (Sandbox Code Playgroud)
然后您可以mCredentialsApiClient.onConnect()在任何时候无需调用即可发出 API 请求,Google API 客户端的生命周期将自动为您管理。例如
@Override
public void onStart() {
CredentialRequest request = new CredentialRequest.Builder()
.setSupportsPasswordLogin(true)
.build();
Auth.CredentialsApi.request(mCredentialsApiClient, request).setResultCallback(
new ResultCallback<CredentialRequestResult>() {
public void onResult(CredentialRequestResult result) {
// result.getStatus(), result.getCredential() ... sign in automatically!
...
Run Code Online (Sandbox Code Playgroud)
在 Github 上查看完整的示例应用程序:https : //github.com/googlesamples/android-credentials/blob/master/credentials-quickstart/app/src/main/java/com/google/example/credentialsbasic/MainActivity。爪哇
| 归档时间: |
|
| 查看次数: |
1694 次 |
| 最近记录: |