Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何为Android应用程序实施密码的智能锁定大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人知道smart Lock?
它是如何工作的?

我想在Android应用程序中开发一个为密码实现smart Lock的应用程序.

我跟随https://developers.google.com/identity/smartlock-passwords/android/.

我已经初始化了GoogleApiClient

@H_219_14@mCredentialsApiClient = new GoogleApiClient.builder(this) .addConnectionCallBACks(this) .addOnConnectionFailedListener(this) .addApi(Auth.CREDENTIALS_API) .build();

生成Credential的实例

final Credential credential = new Credential.builder(email)
            .setpassword(password)
            .build();

我使用Credentials API保存凭据

Auth.CredentialsApi.save(mCredentialsClient,credential).setResultCallBACk(
 new ResultCallBACk() {
  @Override
  public void onResult(Status status) {
      if (status.issuccess()) {
          // Credentials were saved
      } else {
          if (status.hasResolution()) {
              // Try to resolve the save request. This will prompt the user if
              // the credential is new.
              try {
                  status.startResolutionForResult(this,RC_SAVE);
              } catch (IntentSender.SendIntentexception E) {
                  // Could not resolve the request
              }
          }
      }
  }
});

我的清单获得了许可

<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />

并在应用程序标记添加了元数据

<Meta-data
        android:name="com.google.android.gms.version"
        android:value="@Integer/google_play_services_version" />

在Android应用程序中完成所有操作后,我在Google Developer Console上生成了项目,并完成了this link here中提到的所有操作.

但是当我运行项目时,我收到的错误是:

有没有人在Android应用程序上使用Google的smart Lock for password?

解决方法

对我来说,Smart Lock for Passwords on Android样本项目运作良好.您可能想尝试从那里开始,看看是否有帮助.在示例代码中,save凭证实现为:

在onCreate:

@H_219_14@mCredentialsApiClient = new GoogleApiClient.builder(this) .addConnectionCallBACks(this) .addOnConnectionFailedListener(this) .addApi(Auth.CREDENTIALS_API) .build();


在saveCredetial方法中:

final Credential credential = new Credential.builder(email)
            .setpassword(password)
            .build();

    Auth.CredentialsApi.save(mCredentialsApiClient,credential).setResultCallBACk(
            new ResultCallBACk<Status>() {
                @Override
                public void onResult(Status status) {
                    if (status.issuccess()) {
                        Log.d(tag,"SAVE: OK");
                        showToast("Credential Saved");
                        hideProgress();
                    } else {
                        resolveResult(status,RC_SAVE);
                    }
                }
            });


关于主要活动的resolveResult方法

private void resolveResult(Status status,int requestCodE) {
    Log.d(tag,"Resolving: " + status);
    if (status.hasResolution()) {
        Log.d(tag,"STATUS: RESOLVING");
        try {
            status.startResolutionForResult(MainActivity.this,requestCodE);
        } catch (IntentSender.SendIntentexception E) {
            Log.e(tag,"STATUS: Failed to send resolution.",E);
            hideProgress();
        }
    } else {
        Log.e(tag,"STATUS: FAIL");
        showToast("Could Not Resolve Error");
        hideProgress();
    }
}

大佬总结

以上是大佬教程为你收集整理的如何为Android应用程序实施密码的智能锁定全部内容,希望文章能够帮你解决如何为Android应用程序实施密码的智能锁定所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。