1. 首先设置Web视图 WEBview.setWebViewClient(new MyWebViewClient()); webview1.setWebViewClient
1. 首先设置Web视图
WEBview.setWebViewClient(new MyWebViewClient());
webview1.setWebViewClient(new MyWebViewClient());
2. 拦截点击的链接,跳转到对应的页面
// 监听 所有点击的链接,如果拦截到我们需要的,就跳转到相对应的页面。
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.e("tsg","url==="+url);
//这里进行url拦截
if (url != null && url.contains(https://www.jb51.net)) {
字符串截取需要的
String str="";
str=url.substring(url.lastIndexOf("id/"),url.length());
str=str.substring(3,str.indexOf("."));
Log.e("tsg","id==="+str);
// Toast.makeText(Mactivity, "njhnuj", Toast.LENGTH_SHORT).show();
//跳转需要跳转的页面
Intent intent = new Intent();
intent = new Intent(getActivity(), SPProductDetailActivity.class);
intent.putExtra("GoodsID",str);
getActivity().startActivity(intent);
return true;
}
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageFinished(WebView view, String url) {
view.getSettings().setjavascriptEnabled(true);
super.onPageFinished(view, url);
}
}
补充知识:Android9.0 WebView空白页面
最近遇见线上客户部分手机9.0系统,在使用到webview的页面,都是空白,无法正常加载出页面。。。
原因是:
在安卓9.0版本中有一个新特性如下
所有应用都使用HttpS
这是对Android安全用户的肯定。AndroidPie上的所有应用程序默认都使用HTTPS。Android关心您的隐私。
也就是说从Android 9.0(api级别28)开始,默认情况下禁用明文支持。因此http的url均无法在webview中加载。
解决办法:
在AndroidManifest.xml文件中的APplication标签添加android:usesCleartextTraffic="true"。
android:usesCleartextTraffic="true"
以上这篇Android实现WebView点击拦截跳转原生就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。
您可能感兴趣的文章:解决webview内的iframe中的事件不可用的问题详解Flutter WebView与js互相调用简易指南
--结束END--
本文标题: Android实现WebView点击拦截跳转原生
本文链接: https://www.lsjlt.com/news/29924.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0