gpt4 book ai didi

java - Android WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED)

转载 作者:搜寻专家 更新时间:2023-11-01 09:20:09 34 4
gpt4 key购买 nike

有人可以帮帮我吗?我在我的 Android 应用程序中使用 WebView

compileSdkVersion 29
buildToolsVersion "29.0.0"
minSdkVersion 16
targetSdkVersion 29

我在 AmdroidManifest 中有配置 https 并创建了一个配置文件,但没有更改我收到明文错误:

(net::ERR_CLEARTEXT_NOT_PERMITTED)

@xml/network_security_config

  <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">www.mydomaine.com</domain>
</domain-config>
</network-security-config>

AndroidManifest.xml

    <manifest ...>
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:hardwareAccelerated="true"
android:networkSecurityConfig="@xml/network_security_config"
android:usesCleartextTraffic="true"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">

WabView 类

    public void LoadWeb() {
webView = (WebView) findViewById(R.id.webview_test);
webView.getSettings().setAppCacheEnabled(false);
webView.clearCache(true);
webView.reload();
webView.getSettings().setJavaScriptEnabled(false);
webView.getSettings().setLoadsImagesAutomatically(true);
webView.loadUrl("https://www,mydomaine.com");
swipe.setRefreshing(true);
webView.setWebViewClient(new WebViewClient() {


public void onPageStarted(WebView view, String url, Bitmap favicon) {
// TODO Auto-generated method stub
super.onPageStarted(view, url, favicon);
}

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

webView.loadUrl("file:///android_asset/www/error.html");
}

public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);

//Hide the SwipeReefreshLayout

swipe.setRefreshing(false);

}
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError er) {
handler.proceed();
}
});
}

最佳答案

明文在 android 9 中被禁用所以你必须添加网络安全

添加 src\main\res\xml\network_security_config.xml 内容如下:

    <?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true">
<trust-anchors>
<certificates src="system" />
</trust-anchors>
</base-config>
</network-security-config>

然后通过设置 android:networkSecurityConfig 属性在 AndroidManifest.xml 中注册策略文件。

<application
...
android:networkSecurityConfig="@xml/network_security_config"
...
</application>

关于java - Android WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56820089/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com