सेट करने का प्रयास करते समय TIMEOUT त्रुटि जब मैं एंड्रॉइड और फोनगैप के साथ काम कर रहा हूं, और इस समय मुझे एक साधारण चीज़ में परेशानी हो रही है। मुझे समाप्त हुए पृष्ठ के यूआरएल को कैप्चर करने और उसके साथ काम करने के लिए फोनगैप वेब व्यू में एक वेब व्यू क्लाइंट स्थापित करने की आवश्यकता है।एंड्रॉइड फोनगैप - WebViewClient
इस कोड है:
public class PhoneGapTest extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.setBooleanProperty("loadInWebView", true);
super.clearCache();
super.keepRunning = false;
super.loadUrl("file:///android_asset/www/index.html");
super.appView.setWebViewClient(new WebViewClient(){
@Override
public void onPageStarted(WebView view, String url, Bitmap bitmap) {
Log.i("TEST", "onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.i("TEST", "onPageFinished: " + url);
}
});
}
कि कोड काम करने के लिए, पृष्ठ कभी नहीं भार लगता नहीं है और मैं एक टाइमआउट त्रुटि मिलता है, लेकिन अगर मैं पूरी तरह से "setWebViewClient" भाग पृष्ठ लोड को हटा दें।
मैंने देखा कि क्लास कॉर्डोवा वेब दृश्य क्लाइंट है, क्या मुझे इसका उपयोग WebViewClient के बजाय करना है? मुझे वेब पर इस तरह से मिला:
this.appView.setWebViewClient(new CordovaWebViewClient(this){
@Override
public boolean shouldOverrideUrlLoading(final WebView view, String url) {
Log.i("BugTest", "shouldOverrideUrlLoading: " + url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap bitmap) {
Log.i("TEST", "onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
Log.i("TEST", "onPageFinished: " + url);
}
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload){
}
});
लेकिन वह कोड या तो काम नहीं कर रहा है, मुझे अभी भी एक टाइमआउट त्रुटि मिली है। मैंने यह भी देखा कि पहले से ही एक वेबवी क्लाइंट सदस्य है, लेकिन मुझे नहीं लगता कि मुझे इसका उपयोग करना है और कैसे।
मैं Phonegap संस्करण के साथ काम कर रहा हूँ 1.9.0
धन्यवाद साइमन को
पढ़ने उत्तर के लिए:
यह इस तरह से काम किया है, धन्यवाद!
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
super.appView.clearCache(true);
super.appView.clearHistory();
this.appView.setWebViewClient(new CustomCordovaWebViewClient(this));
super.loadUrl("file:///android_asset/www/index.html");
}
public class CustomCordovaWebViewClient extends CordovaWebViewClient {
public CustomCordovaWebViewClient(DroidGap ctx) {
super(ctx);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap bitmap) {
super.onPageStarted(view, url, bitmap);
Log.i("TEST", "onPageStarted: " + url);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
Log.i("TEST", "onPageFinished: " + url);
}
@Override
public void doUpdateVisitedHistory(WebView view, String url, boolean isReload){
super.doUpdateVisitedHistory(view, url, isReload);
}
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
super.onReceivedError(view, errorCode, description, failingUrl);
}
}
}
आपका जवाब साइमन के लिए धन्यवाद, मैंने वह किया, लेकिन यह काम नहीं करता है, मैंने आपके द्वारा जो कहा है उसे लागू करने वाले कोड के साथ पहली पोस्ट अपडेट की है, क्या आपने कहा है? – Spike777
आखिर में कॉलिंग "super.onPageFinished (देखें, यूआरएल);" OnPageFinished विधि में ... धन्यवाद! – Spike777
ओह, मुझे लगा कि यह केवल 1.9.1 में संस्करण 1.8.1 में काम करता है, यह काम नहीं करता है: सुपर.ऑनपेजस्टार्ट (...) – Spike777