问题原因:

Android SDK更新API28后,出于安全考虑,非加密明文流量的http请求无法进行网络请求,同样WebView中也只能使用https
Xamarin.forms跨平台开发时,需要将http改为https。同时,在AndroidMainfest.xml中<application>标签加入android:userCleartextTraffic="true"
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.companyname" android:installLocation="auto">
<uses-sdk android:minSdkVersion="25" android:targetSdkVersion="28" />
<application android:label="Xamarinform测试.Android" android:usesCleartextTraffic="true"></application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>
<ContentPage.Content>
<StackLayout>
<WebView Source="https://baidu.com" WidthRequest="300" HeightRequest="300" />
</StackLayout>
</ContentPage.Content>
本文介绍在Android SDK更新至API28后,如何解决非加密HTTP请求被禁用的问题,通过修改Xamarin.Forms项目中的AndroidManifest.xml文件,启用cleartext流量,并将HTTP请求更改为HTTPS。
1354

被折叠的 条评论
为什么被折叠?



