Android WebView或手機(jī)瀏覽器打開(kāi)連接問(wèn)題解決辦法總結(jié)
Android WebView或手機(jī)瀏覽器打開(kāi)連接問(wèn)題解決辦法總結(jié)
1.通常情況下 大家可能都想使用WebView打開(kāi)網(wǎng)頁(yè)內(nèi)部鏈接而不想再調(diào)用手機(jī)瀏覽器,
我們可以通過(guò)以下兩種方法實(shí)現(xiàn):
(1)為WebView設(shè)置一個(gè)WebViewClient,并重寫(xiě)shouldOverrideUrlLoading(WebView view, String url)方法。
class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
// 重寫(xiě)此方法表明點(diǎn)擊網(wǎng)頁(yè)里面的鏈接還是在當(dāng)前的webview里跳轉(zhuǎn),不跳到瀏覽器那邊
view.loadUrl(url);
return true;
}
}
(2)為WebView設(shè)置一個(gè)WebViewClient,并重寫(xiě)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打開(kāi)大部分鏈接,而有些鏈接我們希望調(diào)用手機(jī)瀏覽器來(lái)打開(kāi),我最近的一個(gè)項(xiàng)目中就有這樣的需求。這樣其實(shí)也很簡(jiǎn)單,我們只需要對(duì)上面第一種方法加以修改即可。
class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// 重寫(xiě)此方法表明點(diǎn)擊網(wǎng)頁(yè)里面的鏈接還是在當(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)是自己寫(xiě)的一個(gè)方法,用來(lái)判斷是否用WevView打開(kāi)該鏈接。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Android自定義View實(shí)現(xiàn)自動(dòng)吸附功能
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)自動(dòng)吸附功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-01-01
Android學(xué)習(xí)筆記-保存文件(Saving Files)
這篇文章主要介紹了Android中保存文件(Saving Files)的方法,需要的朋友可以參考下2014-10-10
Android實(shí)現(xiàn)app分享文件到微信功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)app分享文件到微信功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-05-05
Android自動(dòng)化獲取卡頓信息的實(shí)現(xiàn)方法
自動(dòng)化獲取卡頓信息就像給App裝 “行車記錄儀” —— 實(shí)時(shí)記錄主線程的“駕駛狀態(tài)”,一旦發(fā)現(xiàn)“急剎車”(卡頓),立刻保存現(xiàn)場(chǎng)(堆棧),事后回看錄像(日志)精準(zhǔn)定位問(wèn)題,本文給大家介紹了Android自動(dòng)化獲取卡頓信息的實(shí)現(xiàn)方法,需要的朋友可以參考下2025-02-02
AsyncTask陷阱之:Handler,Looper與MessageQueue的詳解
本篇文章是對(duì)Handler,Looper與MessageQueue進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05
Android系統(tǒng)進(jìn)程間通信(IPC)機(jī)制Binder中的Server和Client獲得Service Manager接
本文主要介紹Android IPC通信Binder中的Server和Client獲得Service Manager接口,這里詳細(xì)的說(shuō)明了如何實(shí)現(xiàn)Service Manager接口,對(duì)研究Android源碼的朋友提供幫助,有需要的小伙伴可以參考下2016-08-08
RecyclerView中監(jiān)聽(tīng)EditText變化的BUG的解決方法
本篇文章主要介紹了RecyclerView中監(jiān)聽(tīng)EditText變化的BUG的解決方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
Android開(kāi)發(fā)之Gradle?進(jìn)階Tasks深入了解
這篇文章主要為大家介紹了Android開(kāi)發(fā)之Gradle?進(jìn)階Tasks深入了解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08

