Android實(shí)現(xiàn)WebView點(diǎn)擊攔截跳轉(zhuǎn)原生
1. 首先設(shè)置Web視圖
webview.setWebViewClient(new MyWebViewClient());webview1.setWebViewClient(new MyWebViewClient());
2. 攔截點(diǎn)擊的鏈接,跳轉(zhuǎn)到對應(yīng)的頁面
// 監(jiān)聽 所有點(diǎn)擊的鏈接,如果攔截到我們需要的,就跳轉(zhuǎn)到相對應(yīng)的頁面。 private class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.e('tsg','url==='+url); //這里進(jìn)行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(); //跳轉(zhuǎn)需要跳轉(zhuǎn)的頁面 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); } }
補(bǔ)充知識:Android9.0 WebView空白頁面
最近遇見線上客戶部分手機(jī)9.0系統(tǒng),在使用到webview的頁面,都是空白,無法正常加載出頁面。。。
原因是:
在安卓9.0版本中有一個(gè)新特性如下
所有應(yīng)用都使用HTTPS
這是對Android安全用戶的肯定。AndroidPie上的所有應(yīng)用程序默認(rèn)都使用HTTPS。Android關(guān)心您的隱私。
也就是說從Android 9.0(API級別28)開始,默認(rèn)情況下禁用明文支持。因此http的url均無法在webview中加載。
解決辦法:
在AndroidManifest.xml文件中的APplication標(biāo)簽添加android:usesCleartextTraffic='true'。
android:usesCleartextTraffic='true'
以上這篇Android實(shí)現(xiàn)WebView點(diǎn)擊攔截跳轉(zhuǎn)原生就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. IntelliJ IDEA創(chuàng)建web項(xiàng)目的方法2. ASP.NET MVC通過勾選checkbox更改select的內(nèi)容3. Python多線程實(shí)現(xiàn)支付模擬請求過程解析4. python中的bool數(shù)組取反案例5. 利用Python實(shí)現(xiàn)Excel的文件間的數(shù)據(jù)匹配功能6. python numpy中setdiff1d的用法說明7. Python趣味挑戰(zhàn)之turtle庫繪畫飄落的銀杏樹8. HTTP協(xié)議常用的請求頭和響應(yīng)頭響應(yīng)詳解說明(學(xué)習(xí))9. python基礎(chǔ)之匿名函數(shù)詳解10. python實(shí)現(xiàn)與redis交互操作詳解
