//方法一:调用系统自带浏览器进行显示
mWv_test.getSettings().setJavaScriptEnabled(true);
mWv_test.loadUrl("http://shengtai.polms.cn/index.php/bzcsnew/index/index/t/7/p/6");
//方法二:Webview里面完成所有网页显示
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView=findViewById(R.id.webview);
webViewSetting();
mWebView.loadUrl("http://shengtai.polms.cn/index.php/Bzcs/Index/index/t/7/p/6");
}
private void webViewSetting() {
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true); //可执行js
webSettings.setDefaultZoom(WebSettings.ZoomDensity.MEDIUM); //设置页面默认缩放密度
webSettings.setDefaultTextEncodingName("UTF-8"); //设置默认的文本编码名称,以便在解码html页面时使用
webSettings.setAllowContentAccess(true); //启动或禁用WebView内的内容URL访问
webSettings.setAppCacheEnabled(false); //设置是否应该启用应用程序缓存api
webSettings.setBuiltInZoomControls(false); //设置WebView是否应该使用其内置的缩放机制
webSettings.setUseWideViewPort(true); //设置WebView是否应该支持viewport
webSettings.setLoadWithOverviewMode(true); //不管WebView是否在概述模式中载入页面,将内容放大适合屏幕宽度
webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE); //重写缓存的使用方式
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //告知js自动打开窗口
webSettings.setLoadsImagesAutomatically(true); //设置WebView是否应该载入图像资源
webSettings.setAllowFileAccess(true); //启用或禁用WebView内的文件访问
webSettings.setDomStorageEnabled(true); //设置是否启用了DOM存储API,默认为false
mWebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//H5调起微信app支付方法一(待验证)
// if (url.contains("wx.tenpay")) {
// Map<String, String> extraHeaders = new HashMap<String, String>();
// extraHeaders.put("Referer", "http://zxpay.fss518.cn");
// view.loadUrl(url, extraHeaders);
// return true;
// }
//H5调起微信app支付方法二(可使用)
if (url.startsWith("weixin://wap/pay?")) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
startActivity(intent);
return true;
}
if(url.startsWith("alipays:") || url.startsWith("alipay")) {
try {
startActivity(new Intent("android.intent.action.VIEW", Uri.parse(url)));
} catch (Exception e) {
new AlertDialog.Builder(MainActivity.this)
.setMessage("未检测到支付宝客户端,请安装后重试。")
.setPositiveButton("立即安装", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Uri alipayUrl = Uri.parse("https://d.alipay.com");
startActivity(new Intent("android.intent.action.VIEW", alipayUrl));
}
}).setNegativeButton("取消", null).show();
}
return true;
}
if (!(url.startsWith("http") || url.startsWith("https"))) {
return true;
}
view.loadUrl(url);
return true;
}
});
}
//点击回退按钮不是退出应用程序,而是返回上一个页面
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}