cleartextTrafficPermitted false все еще разрешает подключение эмулятора Android 9 с помощью xamain - PullRequest
0 голосов
/ 30 сентября 2019

Попытка проверить другую конфигурацию в XML-файле конфигурации конфигурации сетевой безопасности Android, на который ссылается манифест. Используя базовый новый шаблон приложения Xamarin.Android, предназначенный для Android 9 API 28 и эмулятора Galaxy Nexus Android 9 для VS 2019, установите либо:

  1. настройку манифеста уровня приложения android: UseCleartextTraffic =false

  2. добавление файла конфигурации сетевой безопасности, установка для base-config или domain-config значения cleartextTrafficPermitted = false и ссылка на этот файл из манифеста

В любом случае попытка тестового соединения с использованием HttpClient GetAsync с Uri http://www.mit.edu/privacy/ работает отлично, без ошибок. Вызовы во время выполнения на NetworkSecurityPolicy.IsCleartextTrafficPermitted возвращают false, как и ожидалось. И если я изменю настройки, чтобы разрешить использование открытого текста через манифест, то достаточно точно, чтобы вызов возвращал значение true, поэтому среда выполнения показывает его в правильном «режиме», вызовы просто не блокируются, как я и ожидал, когда параметр cleartext false. Не установлена ​​ли настройка открытого текста на эмуляторах? Разве это не применяется в стеке HttpClient Xamarin? Обычно я пытаюсь заблокировать открытый текст для HTTP-соединений и не могу

1 Ответ

0 голосов
/ 30 сентября 2019

Разобрался. Если для параметров проекта Xamarin.Android Visual Studio установлено значение «Настройки»> «Параметры сборки»> «Сборка Android»> «Общие»> «Реализация HttpClient», то для него задано значение «По умолчанию», что означает «Обработчик HttpClient», который является полностью управляемым решением .NET. Переключение на собственный AndroidClientHandler позволило настройкам открытого текста работать должным образом. Ссылка на статью о MS и выбор стандартной реализации HTTP для Xamarin.Android

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...