Android Phonegap - ОШИБКА ВРЕМЕНИ при попытке установить WebViewClient

Я работаю с Android и Phonegap, и в данный момент у меня возникают проблемы с одной простой вещью. Мне нужно настроить webViewClient для PhoneGap webView, чтобы захватить URL страницы и работать с ней.

Это код:

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);

          }

        });

    }

Этот код, похоже, не работает, страница никогда не загружается, и я получаю ОШИБКУ ВРЕМЕНИ, но если я удалю & quot; setWebViewClient & quot; часть страницы загружается отлично.

Я видел, что есть класс CordovaWebViewClient, я должен использовать это вместо 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){        
          }

        });

Но этот код тоже не работает, у меня все еще есть ОШИБКА ВРЕМЕНИ. Я также видел, что уже есть член webVieClient, но я не знаю, должен ли я его использовать и как.

Я работаю с 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);
 }

}

}

Ответы на вопрос(3)

Ваш ответ на вопрос