Android WebView或手機瀏覽器打開連接問題解決辦法總結(jié)
Android WebView或手機瀏覽器打開連接問題解決辦法總結(jié)
1.通常情況下 大家可能都想使用WebView打開網(wǎng)頁內(nèi)部鏈接而不想再調(diào)用手機瀏覽器,
我們可以通過以下兩種方法實現(xiàn):
(1)為WebView設(shè)置一個WebViewClient,并重寫shouldOverrideUrlLoading(WebView view, String url)方法。
class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ // 重寫此方法表明點擊網(wǎng)頁里面的鏈接還是在當前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊 view.loadUrl(url); return true; } }
(2)為WebView設(shè)置一個WebViewClient,并重寫onPageStarted(WebView view, String url, Bitmap favicon)方法。
class MyWebViewClient extends WebViewClient { @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { // TODO Auto-generated method stub super.onPageStarted(view, url, favicon); } }
這兩種方法其實都是讓參數(shù)view(WebView)加載參數(shù)url從而避免手機瀏覽器加載url,第一種方式更常用一些。
2.但有些情況下 我們可能想用WebView打開大部分鏈接,而有些鏈接我們希望調(diào)用手機瀏覽器來打開,我最近的一個項目中就有這樣的需求。這樣其實也很簡單,我們只需要對上面第一種方法加以修改即可。
class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 重寫此方法表明點擊網(wǎng)頁里面的鏈接還是在當前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊 if (openWithWevView(url)) { view.loadUrl(url); }else{ Uri uri = Uri.parse(url); //url為你要鏈接的地址 Intent intent =new Intent(Intent.ACTION_VIEW, uri); startActivity(intent); } return true; }
其中openWithWevView(url)是自己寫的一個方法,用來判斷是否用WevView打開該鏈接。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
利用Android 防止系統(tǒng)字體變化、顯示大小變化影響
這篇文章主要介紹了利用Android 防止系統(tǒng)字體變化、顯示大小變化影響方法的相關(guān)資料,需要的朋友可以參考下面文章的具體內(nèi)容,希望對你有所幫助2021-10-10Android?Compose狀態(tài)改變動畫animateXxxAsState使用詳解
這篇文章主要為大家介紹了Android?Compose狀態(tài)改變動畫animateXxxAsState使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11