मैं अपने प्रोजेक्ट पर एक बहुत ही इसी तरह की वेबव्यू कोड है, मैं सिर्फ यूआरएल आपके द्वारा दिए गए बदल दिया।
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_agreement);
WebView webView = (WebView) findViewById(R.id.userAgreementView);
final ProgressWheel progressWheel = (ProgressWheel) findViewById(R.id.progress_bar);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);
webView.getSettings().setDomStorageEnabled(true);
//webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
Log.v("UA", webView.getSettings().getUserAgentString());
String url = getIntent().getStringExtra("data"); //Urls provided by other activity
if (url != null && !url.equals("")) {
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
//progress wheel fills here etc.
// ...
// ...
}
}
});
webView.loadUrl(url);
}
}
http://onlinelibrary.wiley.com/doi/10.1002/art.39115/pdf इस एक कोई खामियों और कोई गलत व्यवहार के साथ वेबव्यू में एक आकर्षण की तरह भरी हुई।
फिर मैंने इस http://www.ajpmonline.org/article/S0749-3797(14)00628-X/fulltext को आजमाया, जब वेबव्यू एक नई मूल क्रोम गतिविधि लोड करने को पूरा करता है तो तुरंत शुरू होता है और पृष्ठ के मोबाइल संस्करण को एक अलग गतिविधि में लोड करता है।
मैंने अपने डेस्कटॉप क्रोम के साथ वेबसाइट के व्यवहार की जांच की, जब मैं एंड्रॉइड उपयोगकर्ता एजेंट स्ट्रिंग के साथ http अनुरोध करता हूं तो यह निम्न चीज़ें करने के लिए बाहर निकलता है।
- वापसी 302 स्थिति कोड और http://www.ajpmonline.org/action/mobileChoice?originalRequestUri=%2Farticle%2FS0749-3797%2814%2900628-X%2Ffulltext&userInterface=mobile
- एक कुकी MobileUI बुलाया सेट पर पुन: निर्देशित और एक 302 स्थिति कोड के साथ मूल पृष्ठ पर रीडायरेक्ट।
- मोबाइलयूआई कुकी के आधार पर पृष्ठ के मोबाइल संस्करण को लोड करें। उस बिंदु पर वेबसाइट एक नई विंडो पॉप अप करने के लिए जावास्क्रिप्ट कोड चला रही है, जो मेरे गैलेक्सी एस 4 मिनी पर व्यवहार बताती है।
तब मैंने उपयोगकर्ता एजेंट स्ट्रिंग को डेस्कटॉप ब्राउज़र के रूप में नकल करने का निर्णय लिया। मैंने http://www.useragentstring.com/pages/Chrome/ से एक UA स्ट्रिंग चुनी और इसे लोड यूआरएल विधि और voilà से पहले इस तरह सेट करें!
webView.getSettings().setUserAgentString("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
Log.v("UA", webView.getSettings().getUserAgentString());
यह बढ़त स्थिति हो सकता है और हो सकता है आपने जो URL व्यवहार लोड कर रहे हैं बदल सकते हैं पर निर्भर करता है, लेकिन आप एक उचित उपयोगकर्ता एजेंट स्ट्रिंग के साथ वेबसाइटों के डेस्कटॉप संस्करण लोड करने के लिए मजबूर कर सकते हैं।
दुर्भाग्य से मैं उपयोगकर्ता एजेंट को डेस्कटॉप ब्राउज़र के रूप में सेट नहीं कर सकता, क्योंकि मैं मोबाइल पेज लोड करना चाहता हूं। पहले लिंक के लिए, मुझे अब एहसास हुआ कि यूआरएल की कोशिश करने से पहले मेरे पास एक लॉगिन कुकी सेट था।WebView में केवल URL स्रोत पर वास्तविक सामग्री तक पहुंचने पर समस्याएं लोड हो रही हैं, जिन्हें आप नहीं देखते हैं क्योंकि आपने लॉग इन नहीं किया है। मुझे देखने दो कि मैं उस के लिए एक बेहतर उदाहरण पा सकता हूं या नहीं। –
इस मामले में आप वेबपृष्ठ की सामग्री को बदल सकते हैं जो समस्याओं का कारण बनता है। http://stackoverflow.com/a/8274881/3399234 यह उत्तर दिखाता है कि यह कैसे करें, लेकिन निश्चित रूप से यह उचित और कुशल समाधान नहीं है। – Ugur
आप इस यूआरएल के साथ कोशिश कर सकते हैं http://onlinelibrary.wiley.com/doi/10.1002/iid3.28/epdf –