我目前正在为nexus播放器中的电视应用设置智能锁。
问题是即使我已经通过我们的移动应用程序(很久以前实现了智能锁sdk)为我的Google帐户保存了少量凭据集,我也无法在我们的电视应用中检索所有这些凭据集。
在我们的电视应用中,我只能检索其中一个凭据。
甚至更奇怪的是,如果我尝试通过我的电视应用程序保存我的一个凭据,已经存在于云中(帐户以6249开头),它将被保存你可以看到重复的凭据。之后,我可以从电视应用程序中的智能锁中检索此凭据。
注意到该应用的域名对于电视应用和我们的移动应用都是相同的。
答案 0 :(得分:-1)
您可以通过CredentialsApi.request()
方法检索已保存的凭据。
Auth.CredentialsApi.request(mCredentialsClient, mCredentialRequest).setResultCallback(
new ResultCallback<CredentialRequestResult>() {
@Override
public void onResult(CredentialRequestResult credentialRequestResult) {
if (credentialRequestResult.getStatus().isSuccess()) {
// See "Handle successful credential requests"
onCredentialRetrieved(credentialRequestResult.getCredential());
} else {
// See "Handle unsuccessful and incomplete credential requests"
resolveResult(credentialRequestResult.getStatus());
}
}
});
处理多个已保存的凭据:
当需要用户输入来选择凭证时,getStatusCode()
方法会返回RESOLUTION_REQUIRED
。在这种情况下,请调用状态对象的startResolutionForResult()
方法以提示用户选择帐户。然后,通过将Credential.EXTRA_KEY
传递给getParcelableExtra()
方法,从活动的onActivityResult()方法中检索用户选择的凭据。
以下是如何存储凭据的文档:https://developers.google.com/identity/smartlock-passwords/android/store-credentials#store_credentials