0

我开发了一个 Android 服务来唤醒一个 Android 应用程序(基于 Worklight)。应用程序启动后,我必须执行一个 JavaScript 函数。这就是我所做的:

WebView.loadUrl("javascript:getFirstPosition()");

问题是 JavaScript 函数是在加载 WebView 之前执行的。所以我需要设置一个像“onPageLoaded”这样的事件监听器来处理这个事件并在这个时候执行我的函数。关于如何从android原生上下文中做到这一点的任何想法?

4

3 回答 3

2

我通过延迟 JavaScript 函数的调用解决了这个问题,我就是这样做的:

 ScheduledExecutorService scheduleTaskExecutor = Executors.newSingleThreadScheduledExecutor();
             scheduleTaskExecutor.schedule(new Runnable() {
                                 @Override
                                 public void run () {
                                    // execute Worklight Trigger function and start up acquisition process
                                     WebView.loadUrl("javascript:getFirstPosition()");().getString(BROADCAST_TAG)+")");
                                 }
                                }, 3000, TimeUnit.MILLISECONDS);
于 2013-11-08T11:19:23.693 回答
0

如果我很好理解,您需要监听器在加载 WebView 时回调您。

试试这个:

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() {
    // Your code here
}

也许这可以帮助你:http ://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html

于 2013-11-07T16:56:04.910 回答
0

http://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished

这可能是您正在寻找的东西(尽管我不了解用例)

于 2013-11-07T13:32:23.930 回答