我有一个调用本机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+");");
如果有人有更好的方法来解决这个问题 - 请发布它。到目前为止,我将使用此解决方案。