您好,登錄后才能下訂單哦!
Android WebView或手機瀏覽器打開連接問題解決辦法總結
1.通常情況下 大家可能都想使用WebView打開網頁內部鏈接而不想再調用手機瀏覽器,
我們可以通過以下兩種方法實現:
(1)為WebView設置一個WebViewClient,并重寫shouldOverrideUrlLoading(WebView view, String url)方法。
class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ // 重寫此方法表明點擊網頁里面的鏈接還是在當前的webview里跳轉,不跳到瀏覽器那邊 view.loadUrl(url); return true; } }
(2)為WebView設置一個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); } }
這兩種方法其實都是讓參數view(WebView)加載參數url從而避免手機瀏覽器加載url,第一種方式更常用一些。
2.但有些情況下 我們可能想用WebView打開大部分鏈接,而有些鏈接我們希望調用手機瀏覽器來打開,我最近的一個項目中就有這樣的需求。這樣其實也很簡單,我們只需要對上面第一種方法加以修改即可。
class MyWebViewClient extends WebViewClient { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // 重寫此方法表明點擊網頁里面的鏈接還是在當前的webview里跳轉,不跳到瀏覽器那邊 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打開該鏈接。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。