Android Обновление провайдера безопасности - PullRequest
1 голос
/ 29 января 2020

Я работаю над Xamarin.Native и пытаюсь внедрить исправление безопасности для Xamarin. Android project.

В соответствии с этим do c от Google, вы вызываете ProviderInstaller.InstallIfNeeded() или asyn c его версия.

Этот метод генерирует 2 типа исключений: GooglePlayServicesRepairableException и GooglePlayServicesNotAvailableException .

В соответствии с документацией выше, RepairableException генерируется, когда службы Play не созданы установлен, устарел или отключен.

Я пытаюсь протестировать все эти сценарии ios на моем физическом устройстве и эмуляторе, но могу проверить только, когда он отключен.

Когда Google сервисы play устарели (как устройство, так и эмулятор), исключение не генерируется и InstallIfNeeded возвращается нормально. У меня есть устройство со службами Google Play 17.7.86, на момент написания этой статьи последняя версия 20.03.13.

Когда службы Google Play не установлены (эмулятор), я получаю GooglePlayServicesNotAvailableException, когда я ожидал получить исправимое исключение и всплывающее диалоговое окно, чтобы позволить пользователю установить.

Как вы проверяете, когда службы Google play устарели или не установлены, чтобы было выдано соответствующее исключение?

1 Ответ

0 голосов
/ 29 января 2020

GooglePlayServicesNotAvailableException будет содержать ErrorCode . Вы могли бы справиться с этим с другими логинами c.

try
{

}
catch(GooglePlayServicesNotAvailableException ex)
{ 
  int errorcode = ex.ErrorCode;
}

Для более подробной информации о коде ошибки вы можете проверить https://developers.google.com/android/reference/com/google/android/gms/common/ConnectionResult.html#constants_1

...