您的位置:首頁技術文章
文章詳情頁

Android實現WebView點擊攔截跳轉原生

瀏覽:116日期:2022-09-25 13:45:25

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點擊攔截跳轉原生就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Android
相關文章:
国产综合久久一区二区三区