电话间隙等待异步任务完成



我有一个调用本机Java函数的JS函数。此本机函数向主机发送蓝牙语句。此主机异步应答,此应答由处理程序获取。

我的问题是,当答案实际存在时,是否可以将包含答案的结果发送回 JS?

我尝试发送第二个回调,但这不能正常工作,因为JS函数不会等到所有结果都在那里(如本例所述:Android Phonegap:当AsyncTask完成时通知javascript)。它之前完成...

其次,我无法访问这行代码(从示例中),我认为它已被弃用:

this.success(result, this.myCallbackId);

希望你能帮到你!

我更喜欢AsyncTasks,但是嘿,不管你怎么说=]

我也更喜欢Vito的答案(没有检查的那个);直接调用javascript;无论如何,这就是我称之为javascript的方式。

GL HF

好吧,我知道,它可能不是最先进的,或者性能可能真的很糟糕,但我为自己找到了解决方法:

第一步是发送请求,当所有答案都可用时,我在 JS 中调用一个函数,该函数启动从本机代码中获取所有日期:

this.webView.sendJavascript("fetchValues("+ mResultArrayForResultValues+");");

如果有人有更好的方法来解决这个问题 - 请发布它。到目前为止,我将使用此解决方案。

最新更新