Smart Lock SDK неправильно получает наборы учетных данных для NexusPlayer( Android TV)
Сейчас я настраиваю умную блокировку для нашего телевизионного приложения в Nexus Player.
Проблема в том, что, хотя я уже сохранил несколько наборов учетных данных для своей учетной записи Google через наше мобильное приложение (которое давно внедрило Smart Lock SDK), я не могу получить их все в нашем телевизионном приложении.
в нашем телевизионном приложении я могу получить только один из этих учетных данных.
И что еще более странно, что если я попытаюсь сохранить свои учетные данные через мое телевизионное приложение, которое уже существует в облаке (учетная запись начинается с 6249), оно будет сохранено, и вы увидите дублированные учетные данные. И после этого я могу получить эти учетные данные из смарт-блокировки в телевизионном приложении.
Отмечено, что домен приложения одинаков как для телевизионного приложения, так и для нашего мобильного приложения.
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()
способ предложить пользователю выбрать учетную запись. Затем извлеките выбранные пользователем учетные данные из метода onActivityResult() действия, передав Credential.EXTRA_KEY
к getParcelableExtra()
метод.
Вот документация, как хранить учетные данные: https://developers.google.com/identity/smartlock-passwords/android/store-credentials