安卓webView訪問網頁前加http請求頭的方法

1.最近做一個功能是這樣的:app裏內嵌了webview,在app登錄後,webview裏的網頁不知道登錄了,進入後依然跳轉到登錄頁。解決方案是把服務端返回的sessionId加到webview的請求頭裏。

加了這句話後,點擊網頁裏面的內容,還是需要登陸,因爲這種方案是隻在第一次進入這個url的時候加了請求頭。

map.put("authToken",attr.getSessionId());
webView.loadUrl(attr.getIndex(),map);

2.我們需要每次點擊網頁裏的內容都加上頭,搜出了這種方案:

webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url,headerMap);
        return true;
    }
});

後來發現這個方法沒有被執行,查了一下是在安卓7.0以後廢棄了,請使用下面這個方法

@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
    view.loadUrl(request.getUrl(),headerMap);
    return false;
}

3.但是,這兩個方法都沒有走,不知道爲什麼啊,然後我寫了一個看不見的webview,悄悄登錄了一下,總算解決了,至於爲什麼這倆方法沒走,請大佬看到指點,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章