1.定义WebView控件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_dialong_select"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00000000"
android:orientation="vertical">
<include layout="@layout/top" />
<WebView
android:id="@+id/wv"
android:layout_width="match_parent"
android:layout_height="match_parent"></WebView>
</LinearLayout>
2.Activity加载网页
public class WebViewTest extends BaseActivity {
@BindView(R.id.wv)
WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_webview_test);
ButterKnife.bind(this);
initWebView();
wv.loadUrl("http://47.103.36.50:8066/test/aa.html");
}
private void initWebView() {
WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptCanOpenWindowsAutomatically(true);//支持js调用window.open方法
webSettings.setAllowFileAccess(true);// 设置允许访问文件数据
webSettings.setSupportMultipleWindows(false);// 设置允许开启多窗口
webSettings.setDomStorageEnabled(true);
webSettings.setJavaScriptEnabled(true);// 设置支持javascript
wv.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onCreateWindow(WebView view, boolean isDialog, boolean isUserGesture, Message resultMsg) {
WebView web2 = new WebView(WebViewTest.this);//新创建一个webview
web2.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
wv.loadUrl(url);//将拦截到url交由第一个WebView打开
return true;
}
});
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
//以下的操作应该就是让新的webview去加载对应的url等操作。
transport.setWebView(web2);
resultMsg.sendToTarget();
return true;
}
});
wv.setWebViewClient(new WebViewClient());
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && wv.canGoBack()) {
wv.goBack();//返回上个页面
return true;
}
return super.onKeyDown(keyCode, event);//退出H5界面
}
}
版权声明:本文为qq_26981913原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。