最新版本的android sdk怎么显示webview的内容,好多资料都是老版本的了,记录下新sdk的写法
实现效果

MainActivity文件代码
java
public class MainActivity5 extends AppCompatActivity {
private WebView webView;
private long exitTime = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = new WebView(this);
webView.setWebViewClient(
new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, android.webkit.WebResourceRequest request) {
view.loadUrl(request.getUrl().toString());
return true;
}
}
);
// 设置 WebView 基本配置
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setLoadWithOverviewMode(true);
webView.getSettings().setUseWideViewPort(true);
// 添加混合内容支持
webView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
// 允许访问文件
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAllowContentAccess(true);
webView.loadUrl("http://m.baidu.com/"); //调用loadUrl方法为WebView加入链接
setContentView(webView); //调用Activity提供的setContentView将webView显示出来
}
@SuppressLint("GestureBackNavigation")
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
// 使用现代的处理方式,避免时间戳比较
if (exitTime + 2000 > System.currentTimeMillis()) {
super.onBackPressed();
return;
}
exitTime = System.currentTimeMillis();
Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
}
}
}
活动文件中添加了很多getSettings(),但是还是加载不了,显示报错
修复报错bug
在res/xml里面新增network_security_config.xml
xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">m.baidu.com</domain>
<domain includeSubdomains="true">www.baidu.com</domain>
</domain-config>
</network-security-config>
-AndroidManifest.xml文件里面再增加配置
在application上面加上
xml
android:networkSecurityConfig="@xml/network_security_config"
这样webview就能显示要展示的网页了