में उपयोग किए गए HTTP शीर्षलेख पर कोई प्रभाव नहीं पड़ता है एंड्रॉइड ऐप के HTTP अनुरोध में उपयोगकर्ता-एजेंट स्ट्रिंग को बदलने का प्रयास कर रहा है। मैंने इसे वायरसहार्क और एमुलेटर के साथ एक साथ परीक्षण किया है, और देखा है कि हालांकि मैंने वेबव्यू में उपयोगकर्ता सामग्री स्ट्रिंग सेट की है, संबंधित loadUrl अनुरोध इस उपयोगकर्ता-एजेंट स्ट्रिंग का उपयोग नहीं करता है। इसके बजाय मैं wireshark कब्जा में Dalvik useragent स्ट्रिंग देखते हैं। यहां कोड सार है। कोई विचार? या क्या एम्यूलेटर इसका समर्थन नहीं करता है?एंड्रॉइड वेबव्यू में setUserAgentString का भार लोडर()
@Override
public void run() {
assert(context != null);
...
...
webView = new WebView(context);
...
String defaultUserAgent = "betaUAteststring";
// Clear per-application caches etc
webView.clearCache(true);
webView.clearHistory();
webView.getSettings().setAppCacheEnabled(false);
webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
....
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
..
}
@Override
public void onLoadResource(WebView view, String url) {
...
}
});
// Start loading
webView.getSettings().setUserAgentString(defaultUserAgent);
String setUA = webView.getSettings().getUserAgentString();
//--> logging here shows the correct user agent, so the webview does accept the value
// However the following statement does not result in an http request with the webviews user agent
webView.loadUrl(url);
//Alternative doesn't help either (and shouldn't according to javadoc)
//Map<String,String> headerMap = new HashMap<String,String>();
//headerMap.put("User-Agent","uaTestInAMap");
//webView.loadUrl(url, headerMap);
}
मैं मेरा मानना है कि मैं इसे "webView.setWebViewClient (नया WebViewClient() ....." में कर रहा हूं – damcify