我有一个调用本机Java函数的JS函数。此本机功能将蓝牙语句发送给主机。该主机以异步方式应答,此答案由处理程序提取。
我的问题是,当答案实际存在时,是否可以将包含答案的结果发送给JS?
我尝试发送第二个Callback,但这不能正常工作,因为JS函数不会等到所有结果都存在(如本例所示:Android Phonegap: Notify javascript when an AsyncTask is finished)。它在......之前完成了。
其次我无法访问这行代码(来自示例),我认为它已被弃用:
this.success(result, this.myCallbackId);
希望你能帮忙!
答案 0 :(得分:0)
我更喜欢AsyncTasks,但是嘿,不过你到达那里=]
我也非常喜欢Vito在该页面上的答案(未经检查的答案);直接调用javascript;无论如何,这就是我称之为javascripts的方式。
gl hf
答案 1 :(得分:0)
嗯,我知道,这可能不是最先进的,或者性能可能非常差,但我找到了自己的解决方法:
第一步是发送请求,当所有答案都可用时,我调用JS中的一个函数,该函数启动从本机代码中获取所有日期:
this.webView.sendJavascript("fetchValues("+ mResultArrayForResultValues+");");
如果有人有更好的方法来解决这个问题 - 请发布。到目前为止,我将使用此解决方案。