当前位置: 首页 > 知识库问答 >
问题:

如何为Android应用程序的密码实现智能锁

寇景明
2023-03-14

有人了解智能锁吗?它是如何工作的?

我想开发一个应用程序,实现在Android应用程序的密码智能锁。

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

我已经初始化了< code>GoogleApiClient

 mCredentialsApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Auth.CREDENTIALS_API)
            .build();

生成的<code>凭证

 final Credential credential = new Credential.Builder(email)
            .setPassword(password)
            .build();

要使用<code>凭据API<code>保存凭据,我使用

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" />

还将<code>元数据

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

在Android应用程序中完成所有操作后,我在Google Developer Console上生成了项目,并完成了此链接中提到的所有操作。

但是当我运行项目时,我得到一个错误:

无法解决错误。

有没有人在Android应用程序上使用谷歌的密码智能锁?

共有2个答案

宰父德馨
2023-03-14

您是否在< code>onActivityResult(...)回调?

这里的命名有点混乱。您已经实现了<code>onResult(Status-Status)行的结果不会出现在<code>onResult(状态状态)回调中。

林博厚
2023-03-14

对我来说,Android示例项目上的Smart Lock for Password运行良好。您可能想尝试从那里开始,看看这是否有帮助。在示例代码中,保存凭据的实现方式为:

创建中

    mCredentialsApiClient = new GoogleApiClient.Builder(this)
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Auth.CREDENTIALS_API)
            .build();

…在<code>saveCredetial<code>方法中:

    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);
                    }
                }
            });

...主活动的< code>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();
    }
}
 类似资料:
  • 我已经在我的应用程序中实现了智能密码锁。我应该测试哪些常见场景和UX流?

  • ​利用智能通知功能您可以在 Polar 设备上获取来电、消息和通知提醒。您将在 Polar 设备上获得与手机屏幕上相同的通知。 请注意,训练期间,您不能收到任何通知。 请确保您在手机上安装了 Android 版本 5.0 或更高版本。 请确保 Polar 设备的固件为最新版本。 要使用智能通知功能,您需要安装适合 Android 的 Polar Flow 移动应用程序,且 Polar 设备需要与该

  • 我是一个初学者,我只是找不到一个可行的解决方案。 我想做的是:用户输入用户名和密码,然后应用程序登录到一个网站。如果登录失败,则返回false和正确消息,否则返回true并继续执行下一个活动(获取另一个站点,解析html并显示内容)。 我的难题是:如何检测成功登录? 这是我的密码 LoginActivity的相关代码: 身份验证类中的方法: 由于我获得了200(OK)状态,我认为POST的代码工作

  • 问题内容: 在Android应用中实施应用内结算似乎非常复杂。我该怎么办?SDK中的示例应用程序只有一个Activity,对于像我这样的具有多个Activity的应用程序来说,这过于简化了。 问题答案: 好吧,我将尝试解释我的经历。我不认为自己是专家,但是几天我都伤透了脑筋。 对于初学者来说,我很难理解示例和应用程序的工作流程。我认为从一个简单的示例开始应该会更好,但是将代码分成几小段并且不知道是

  • 我们将为out项目开发一个增强现实Android应用程序。 我在YouTube上看了几个关于AR的教程,我看到他们使用、、、等。我还看了关于如何使用创建android应用程序的视频。 当他们创建他们想要的AR场景时,例如Unity&Vuforia,他们将其导出到Android设备上,然后在该设备上运行他们的项目。他们不需要使用Android Studio。当他们点击设备上的应用程序时,它会自动打开

  • 本文向大家介绍Android sharedPreferences实现记住密码功能,包括了Android sharedPreferences实现记住密码功能的使用技巧和注意事项,需要的朋友参考一下 实现记住密码功能,供大家参考,具体内容如下 编写界面交互代码: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。