Попытка проверить другую конфигурацию в XML-файле конфигурации конфигурации сетевой безопасности Android, на который ссылается манифест. Используя базовый новый шаблон приложения Xamarin.Android, предназначенный для Android 9 API 28 и эмулятора Galaxy Nexus Android 9 для VS 2019, установите либо:
настройку манифеста уровня приложения android: UseCleartextTraffic =false
добавление файла конфигурации сетевой безопасности, установка для base-config или domain-config значения cleartextTrafficPermitted = false и ссылка на этот файл из манифеста
В любом случае попытка тестового соединения с использованием HttpClient GetAsync с Uri http://www.mit.edu/privacy/ работает отлично, без ошибок. Вызовы во время выполнения на NetworkSecurityPolicy.IsCleartextTrafficPermitted
возвращают false, как и ожидалось. И если я изменю настройки, чтобы разрешить использование открытого текста через манифест, то достаточно точно, чтобы вызов возвращал значение true, поэтому среда выполнения показывает его в правильном «режиме», вызовы просто не блокируются, как я и ожидал, когда параметр cleartext false. Не установлена ли настройка открытого текста на эмуляторах? Разве это не применяется в стеке HttpClient Xamarin? Обычно я пытаюсь заблокировать открытый текст для HTTP-соединений и не могу