Поймай событие "страница закончилась загрузка" и сделай что-нибудь в ionic/cordova MainActivity.java с веб-представлением xwalk

У меня есть приложение для Android, созданное с использованием ionic, и я использовал в нем веб-просмотр xwalk. Мне нужно, чтобы страница завершила загрузку внутри моего события MainActivity.java который расширяет CordovaActivity класс, а затем выполнить какое-то действие. Как я могу это сделать.

2 ответа

Если вы используете xwalkview в Crosswalk Embedded Mode, его API XWalkResourceClient#onLoadFinished может быть вам полезен. Подробности здесь API_docs, вы можете использовать так:

class ResourceClient extends XWalkResourceClient {

    public ResourceClient(XWalkView xwalkView) {
        super(xwalkView);
    }

    public void onLoadStarted(XWalkView view, String url) {
        super.onLoadStarted(view, url);
        Log.d(TAG, "Load Started:" + url);
    }

    public void onLoadFinished(XWalkView view, String url) {
        super.onLoadFinished(view, url);
        Log.d(TAG, "Load Finished:" + url);
    }

    public void onProgressChanged(XWalkView view, int progressInPercent) {
        super.onProgressChanged(view, progressInPercent);
        Log.d(TAG, "Loading Progress:" + progressInPercent);
    }
}

mXWalkView.setResourceClient(new ResourceClient(mXWalkView));
mXWalkView.load("http://www.google.com/", null);

Событие процесса, очень похожее на Android Webview, попробуйте это

xWalkView.setResourceClient(new XWalkResourceClient(xWalkView) {
     @Override
      public void onLoadFinished(XWalkView view, String url) {
           super.onLoadFinished(view, url);
           // Stop your loading dialog here
      }
 });

Береги себя

Если вы используете Android WebView, пожалуйста, проверьте onPageFinished() метод.

http://developer.android.com/reference/android/webkit/WebViewClient.html, java.lang.String)

Другие вопросы по тегам