标签:ica protected vertica eve err 网页加载 enc 模拟器 image
这里以百度首页为例,先写好xml文件以及Java文件
我的news.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
我的WebViewActivity.java文件
public class WebViewActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news);
WebView mWebView = findViewById(R.id.web_view);
mWebView.loadUrl("http://baidu.com");
}
}
网上用很多种说法,直到我发现我报错的原因是:没网络
因为,前几天我尝试通过应用跳转到浏览器,打开网页是可以的。
百度上也是其他的说法,看着头疼,直到我不经意间打开了模拟器的浏览器,发现没有网。
心里很郁闷啊!!!没网加载个锤子的网页。
然后,就开始解决网络的问题。
解决网络问题,点击运行,会出现下面这个错误
需要在Android 的mainfest.xml中的application添加一句配置
android:usesCleartextTraffic="true"
到这里,程序运行,网页加载出来了,结果却不是我先要的,因为网页是跳转到浏览器打开的,不是在我的webview中加载出来的
再java文件中添加
mWebView.setWebViewClient(new WebViewClient());
此时百度的首页可以再webview中加载出来,但是当我们点击网页中的链接时,出现了下面的错误
需要在Android 的mainfest.xml中加入联网权限
<uses-permission android:name="android.permission.INTERNET"/>
再次运行,会发现链接可以点开,但是点开链接后的某些图片不能加载以及某些可以点击的内容没有反应
需要再java文件中添加
mWebView.getSettings().setJavaScriptEnabled(true);
当我想要浏览百度首页中的新闻时,发现下面错误
通过图片可以看出,这个 url 的开头不是以http 和 https开头的。
想通过 if 判断字符串的开头是否是 http 或 https,如果不是,则以 :// 切割,让后通过http 替换掉 baiduboxapp,发现还是解决不了,放弃了放弃了
发现但按手机上的返回键,webview会直接退出,而不是返回上一给网页
再java文件中添加
mWebView.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getAction()==KeyEvent.ACTION_DOWN){
if(keyCode== KeyEvent.KEYCODE_BACK && mWebView.canGoBack()){
mWebView.goBack();
return true;
}
}
return false;
}
});
标签:ica protected vertica eve err 网页加载 enc 模拟器 image
原文地址:https://www.cnblogs.com/ranmomo/p/12325947.html