我开发了一个Android服务来唤醒Android应用程序(基于Worklight)。应用程序启动后,我必须执行JavaScript函数。 这就是我所做的:
WebView.loadUrl( “JavaScript的:getFirstPosition()”);
问题是JavaScript函数是在加载WebView之前执行的。 所以我需要设置一个像“onPageLoaded”这样的事件监听器来处理这个事件并在此时执行我的函数。 关于如何做这个形式的Android原生语境的任何想法?
答案 0 :(得分: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);
答案 1 :(得分:0)
请参阅http://developer.android.com/reference/android/webkit/WebViewClient.html#onPageFinished
这可能是你正在寻找的东西(虽然我不理解用例)
答案 2 :(得分: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