मैं shouldInterceptRequest का उपयोग करएंड्रॉयड: WebView shouldInterceptRequest WebView में RequestProperties नहीं जोड़ने
नीचेलौटने मेरी WebResourceResponse
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
private static WebResourceResponse handleRequestViaUrlOnly(WebResourceRequest webResourceRequest){
String url = webResourceRequest.getUrl().toString();
Log.i("intercepting req....!!!", url);
String ext = MimeTypeMap.getFileExtensionFromUrl(url);
String mime = MimeTypeMap.getSingleton().getMimeTypeFromExtension(ext);
try {
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestProperty("Sample-Header", "hello");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setUseCaches(false);
return new WebResourceResponse(mime, "UTF-8", conn.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
मैं अपने CustomWebViewClient अंदर इस विधि कॉल के लिए अपने कोड है वेबव्यू से अनुरोध अवरोध उत्पन्न कर रहा हूँ
class CustomWebViewClient extends WebViewClient {
@TargetApi(Build.VERSION_CODES.LOLLIPOP)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) {
return handleRequestViaUrlOnly(request);
}
}
हालांकि, जब मैं क्रोम में वेबव्यू रिमोट डीबगर से अनुरोध शीर्षलेखों की जांच करता हूं: // निरीक्षण/# उपकरण।
अतिरिक्त अनुरोध प्रॉपर्टी जो मैंने जोड़ा है वह मौजूद नहीं है।
conn.setRequestProperty("Sample-Header", "hello");
नमूना-शीर्षलेख वेबव्यू में अनुरोध शीर्षलेख में मौजूद नहीं है।
क्या मुझे कुछ याद आ रही है? मैं किसी भी मदद की सराहना करूंगा।
खुराक यह आईओ अपवाद ब्लॉक में चला जाता है:
यहाँ सरल कोड है कि प्रतिक्रिया से
WebResourceResponse
हेडर का निर्माण और इसे करने के लिए अपने कस्टम हेडर में संलग्न कर देगा है? –नहीं, यह इस नए यूआरएल (यूआरएल) को कॉल नहीं करता है। ओपन कनेक्शन() को IOException को पकड़ने की आवश्यकता है। – Aaron
बस इस विधि को कॉल करने का पूरा कोड पोस्ट करें? –