溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Android WebView或手機(jī)瀏覽器打開連接問題解決辦法總結(jié)

發(fā)布時(shí)間:2020-10-17 13:14:13 來源:腳本之家 閱讀:248 作者:lqh 欄目:移動(dòng)開發(fā)

Android WebView或手機(jī)瀏覽器打開連接問題解決辦法總結(jié)

1.通常情況下 大家可能都想使用WebView打開網(wǎng)頁內(nèi)部鏈接而不想再調(diào)用手機(jī)瀏覽器,

我們可以通過以下兩種方法實(shí)現(xiàn):

(1)為WebView設(shè)置一個(gè)WebViewClient,并重寫shouldOverrideUrlLoading(WebView view, String url)方法。

class MyWebViewClient extends WebViewClient { 
 
  @Override 
 
  public boolean shouldOverrideUrlLoading(WebView view, String url){ 
 
  // 重寫此方法表明點(diǎn)擊網(wǎng)頁里面的鏈接還是在當(dāng)前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊 
 
    view.loadUrl(url); 
 
    return true; 
 
    } 
 
} 

(2)為WebView設(shè)置一個(gè)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í)都是讓參數(shù)view(WebView)加載參數(shù)url從而避免手機(jī)瀏覽器加載url,第一種方式更常用一些。

2.但有些情況下  我們可能想用WebView打開大部分鏈接,而有些鏈接我們希望調(diào)用手機(jī)瀏覽器來打開,我最近的一個(gè)項(xiàng)目中就有這樣的需求。這樣其實(shí)也很簡單,我們只需要對(duì)上面第一種方法加以修改即可。

class MyWebViewClient extends WebViewClient { 
 
  @Override 
 
  public boolean shouldOverrideUrlLoading(WebView view, String url) { 
 
  // 重寫此方法表明點(diǎn)擊網(wǎng)頁里面的鏈接還是在當(dā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)是自己寫的一個(gè)方法,用來判斷是否用WevView打開該鏈接。

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI