真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

WebView中怎么設(shè)置WebViewClient-創(chuàng)新互聯(lián)

WebView中怎么設(shè)置WebViewClient,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

在略陽等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、做網(wǎng)站 網(wǎng)站設(shè)計制作按需規(guī)劃網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),外貿(mào)網(wǎng)站制作,略陽網(wǎng)站建設(shè)費(fèi)用合理。

WebView設(shè)置WebViewClient的方法

shouldOverrideUrlLoading:

在web頁面里單擊鏈接的時候,會自動調(diào)用android自帶的瀏覽器來打開鏈接,需要通過該方法在本頁面打開;

 @Override
  public boolean shouldOverrideUrlLoading(WebView view, String url) {
  view.loadUrl(url);
  return true;
  }
onLoadResource:加載資源時響應(yīng)
onPageStart:在加載頁面時響應(yīng)
onPageFinish:在加載頁面結(jié)束時響應(yīng)
onReceiveError:在加載出錯時響應(yīng)
onReceivedHttpAuthRequest:

公共方法

doUpdateVisitedHistory(WebView view,String url,boolean isReload)

通知主機(jī)應(yīng)用程序更新其訪問數(shù)據(jù)庫的鏈接。(貌似可以理解成WebView內(nèi)容變化后,數(shù)據(jù)庫儲存的歷史記錄也變化了,需要更新)

onFormResubmission(WebView view,Message dontResend,Message resend)

在應(yīng)用程序中,如果瀏覽器需要重新加載頁面數(shù)據(jù),這個頁面必須是屬于POST請求,默認(rèn)情況下,是不會發(fā)送重新加載數(shù)據(jù).

onLoadResource(WebView view,String url)

當(dāng)WebView加載特定的資源時,會通知WebView所請求的Url.

onPageCommitVisible(WebView view,String url)

(1)通知應(yīng)用程序,WebView之前頁面遺留的內(nèi)容,將不會在加載和繪制.

(2)這個回調(diào)被使用在WebView內(nèi)容安全的回收,確保不會顯示陳舊的內(nèi)容.

(3)它能夠在最早被調(diào)用,以此來保證onDraw(Canvas)在以前的界面不會繪制任何內(nèi)容,接下來需要繪制的內(nèi)容background color或者需要加載的新內(nèi)容.

(4)這個方法會在Http的Body已經(jīng)加載,已經(jīng)反映在DOM上,并且將會在其可見的時候繪制.這個回調(diào)發(fā)生在文檔(document)加載的早期,因此它的資源(css,和圖像)可能是拿不到的.

(5)如果需要更細(xì)粒度的視圖更新,具體到元素,<標(biāo)簽/>,需要了解postVisualStateCallback(long, WebView.VisualStateCallback).

(6)請注意這上邊的所有條件也支持postVisualStateCallback(long ,WebView.VisualStateCallback)   

void onPageFinished(webView view,String url)

通知應(yīng)用程序頁面已經(jīng)完成加載,只有主框架才能調(diào)用此方法,當(dāng)onPageFinish()被調(diào)用時,呈現(xiàn)圖片可能還沒有被更新.新照片的通知更新,請使用onNewPicture(WebView,Picture)

onPageStarted(WebView view,String url,Bitmap favicon)

通知應(yīng)用程序已經(jīng)開始進(jìn)行頁面加載,這個方法,在每個主框架加載一個頁面或者一個內(nèi)置頁框都會被調(diào)用.這也意味著onPageStarted將不會發(fā)生在嵌入式的框架內(nèi)的內(nèi)容變化,就像單擊鏈接目標(biāo).

onReceivedClientCertRequest(WebView view,ClientCertRe)

通知應(yīng)用程序來處理一個SSL客戶證書請求,應(yīng)用程序負(fù)責(zé)提示用戶輸入鑰匙.

有三種處理方式:

進(jìn)行proceed()

取消cancel()

無視ignore()

WebView將會儲存在響應(yīng)內(nèi)存(特指App還存活)的進(jìn)行(proceed)和取消(cancel)的操作,并且onReceivedClientCertRequest()在遇到相似的host和port,不會對用戶進(jìn)行通知,但是無視(ignore)狀態(tài)在WebView中不會儲存,下次還會繼續(xù)提示.

注意:

(1)谷歌的Chromium(引擎)可能會緩存這些響應(yīng),所以當(dāng)前情況下,忽略可能是影響最小的一個選擇.

(2)如果在UI線程使用,這個連接可能被暫停.

(3)在大多數(shù)情況,這個應(yīng)用程序項目,應(yīng)該實現(xiàn)KeyChainAliasCallback這個接口,并且將這個接口傳遞給choosePrivateKeyAlias(Activity,KeyChainAliasCallback,String[],Principal[],Uri,String)并且給User(用戶)選擇一個別名來開始這個活動.

(4)這個活動的鑰匙串將通過接口回調(diào)的方式實現(xiàn).

(5)下一個App應(yīng)該通過創(chuàng)建一個異步任務(wù)通過getPrivateKey(Context,String)方法來獲得這個(Key)鑰匙.

(6)這個方法在AOSP瀏覽器的默認(rèn)行為是取消(cancel),并且不返回客戶端證書.

在API 23被遺棄.

onReceivedError
(
WebView view,
int errorCode,
String descrption,
String failingUrl
)

向應(yīng)用程序報告錯誤,這個錯誤都是不可恢復(fù)的(這些資源不可以被使用).errorCode參數(shù)對應(yīng)一個ERROR_*常量.

onReceiver(Webview view,
WebResourceRequest request,
WebResourceError error)

向應(yīng)用程序報告Web資源加載錯誤.這些錯誤通常會顯示無法連接到服務(wù)器,回調(diào)時注意與棄用版本,新版本將針對任何資源(iframe,picture),不僅針對主頁面,因此,建議在這個回調(diào)上執(zhí)行加載資源錯誤的 通用的處理情況.

onReceivedHttpAuthRequest(Webview view.
HttpAuthHandler handler,
String host,
String realm)

通知應(yīng)用程序接收WebView上面的HTTP身份驗證請求.應(yīng)用程序可以使用提供的HttpAuthHandler來設(shè)置對WebView上面請求的回應(yīng).默認(rèn)的行為是取消請求.

onReceivedHttpError(WebView view,
WebResourceRequest request,
WebResourceResponse errorResponse)

通知App在從服務(wù)器端接收到HTTP錯誤,并且==HTTP的錯誤狀態(tài)碼>=400==,這個回調(diào)將對任何資源(iframe,picture等)不僅對主頁面.因為,建議在這個回調(diào)上面執(zhí)行最普遍的處理,處理通用事件.

==注意:服務(wù)器響應(yīng)的內(nèi)容可能在errorResponse中找不到.==

onReceivedLoginRequest(Webview view,
String realm
String account
String args)

通知應(yīng)用程序自動用戶登錄已經(jīng)被處理.

onReceiverSslError(WebView view,
SslErrorHandler handler
SslError error)

通知應(yīng)用程序加載資源時發(fā)生SSL錯誤,主機(jī)應(yīng)用程序必須調(diào)用handler.cancel()或者h(yuǎn)andler.proceed().注意,這個決定可能被保留應(yīng)對未來的SSL錯誤,默認(rèn)的行為是取消(cancel)加載.

onScaleChange(WebView view,
float oldScale,
float newScale)

通知APP對于WebView的比例大小已經(jīng)發(fā)生變化.

onUnhandledKeyEvent(WebView view,KeyEvent event)

通知應(yīng)用這個事件沒有在WebView聲明,除了系統(tǒng)事件,WebView總是消費(fèi)普通的事件,或者設(shè)置shouldOverrideKeyEvent方法返回值為true.

這個事件的發(fā)出,屬于異步的發(fā)出,它給應(yīng)用程序機(jī)會來處理這些不能處理的關(guān)鍵性事件.

WebResourceResponse shouldInterceptRequest(
WebView view,
WebResourceRequest request)

通知應(yīng)用程序一個資源請求,并且允許應(yīng)用程序返回數(shù)據(jù).如果返回值為null,這個WebView將會繼續(xù)加載普通的資源請求.否則,返回響應(yīng)的數(shù)據(jù)將會被使用.

注意:這個方法將在非主線程調(diào)用.所以客戶端在訪問私有數(shù)據(jù)或者UI視圖時需要謹(jǐn)慎行事.

boolean shouldOverrideKeyEvent(WebView view
,KeyEvent event)

賦予應(yīng)用程序能夠處理異步事件的機(jī)會.

eg:菜單的快捷鍵需要先被過濾.

如果方法返回true,WebView將不會處理該事件,如果返回false,那么WebView將會一直處理該事件,所以沒有超級鏈接也能看到該事件.

這個默認(rèn)行為是返回false.

shouldOverrideUrlLoading(WebView view
WebResourceRequest request)

使主機(jī)應(yīng)用程序能夠控制,當(dāng)一個新的Url加載到當(dāng)前的WebView.

如果沒有提供WebViewClient,默認(rèn)情況下WebView會詢問Activity Manager 去選擇來適當(dāng)?shù)奶幚懋?dāng)前的Url,如果WebViewClient被提供,返回true,意味著主機(jī)程序來處理url,而返回false意味著當(dāng)前WebView處理url.

關(guān)于WebView中怎么設(shè)置WebViewClient問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


文章名稱:WebView中怎么設(shè)置WebViewClient-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://weahome.cn/article/jodds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部