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

Другие вопросы по тегам