版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36707431/article/details/78059792
Android开发中,经常使用到WebView和h5进行交互,对于遇到的问题进行总结:
1.网络请求有get和post两种,get请求很简单只需loadUrl就OK,在这里我们主要说一下post的请求方式
//post请求(使用键值对形式,格式与get请求一样,key=value,多个用&连接)
urlParameter = "orderNo=" +order;
//参数转化成字节形式
mVebView.postUrl(url, urlParameter.getBytes());
2.页面加载开始时拦截url进行业务处理
3.页面加载完成后对页面处理
mVebView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
//返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器
view.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url,
Bitmap favicon) {
//支付完成后,点返回关闭界面
if(url.endsWith("jiahong-web/jhsuccess")){
finish();
}
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
//去掉第三方页面的头
mVebView.evaluateJavascript("document.getElementsByClassName(\"header\")[0].style.display = \"none\"",null);
}
});