Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/469.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Worklight初始化后从本机执行JavaScript函数_Javascript_Android_Cordova_Ibm Mobilefirst - Fatal编程技术网

Worklight初始化后从本机执行JavaScript函数

Worklight初始化后从本机执行JavaScript函数,javascript,android,cordova,ibm-mobilefirst,Javascript,Android,Cordova,Ibm Mobilefirst,我开发了一个Android服务来唤醒一个Android应用程序(基于Worklight)。应用程序启动后,我必须执行一个JavaScript函数。 这就是我所做的: loadUrl(“javascript:getFirstPosition()”) 问题是JavaScript函数是在加载WebView之前执行的。 因此,我需要设置一个类似“onPageLoaded”的事件侦听器来处理此事件,并在此时执行我的函数。 您知道如何在android原生环境中实现这一点吗?请参阅 它可能是您正在寻找的(尽管

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

loadUrl(“javascript:getFirstPosition()”)

问题是JavaScript函数是在加载WebView之前执行的。 因此,我需要设置一个类似“onPageLoaded”的事件侦听器来处理此事件,并在此时执行我的函数。 您知道如何在android原生环境中实现这一点吗?

请参阅


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

如果我很了解,您需要侦听器在加载WebView时回调您

试试这个:

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

function onDeviceReady() {
    // Your code here
}

也许这可以帮助您:

我通过延迟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);

谢谢@Anton,我在“onCreate”上尝试了这个函数:super.webViewClient.onPageFinished(arg0,arg1),但是什么都没有发生,甚至javascript函数也没有被调用。