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