正在尝试测试清单中引用的Android网络安全配置config XML文件中的其他配置。使用针对Android 9 API 28的基本新应用模板Xamarin.Android应用和VS VS 2019上的Galaxy Nexus Android 9仿真器,设置以下一项:
应用程序级别清单设置android:usesCleartextTraffic = false
添加网络安全性配置文件,将基本配置或域配置设置为cleartextTrafficPermitted = false并从清单中引用该文件
[无论哪种情况,尝试使用HttpClient GetAsync和Uri为http://www.mit.edu/privacy/的测试连接都可以正常工作,没有错误。在运行时对NetworkSecurityPolicy.IsCleartextTrafficPermitted
的调用按预期返回false。而且,如果我更改设置以确保通过清单允许明文,那么调用肯定会返回true,因此运行时会以正确的“模式”显示其,当明文为false时,调用只会被阻塞,正如我期望的那样。明文设置是否未在模拟器上强制执行? Xamarin的HttpClient堆栈中没有强制执行吗?基本上是尝试阻止HTTP连接的明文,但无法
正在尝试测试清单中引用的Android网络安全配置config XML文件中的其他配置。使用基本的新应用模板Xamarin.Android应用定位到Android ...
想通了。将Xamarin.Android Visual Studio Project选项设置为Settings> Build> Android Build> General> HttpClient Implementation选项设置为Default,这意味着HttpClient Handler是.NET的完全托管解决方案。切换到本地AndroidClientHandler可使明文设置按预期方式工作