Pea*_*oon 19 javascript android android-asynctask cordova
在我的应用程序中,当用户点击webview中的按钮时,将调用phonegap插件来触发asynctask从Internet下载文件.现在我想在asynctask完成时将信号发送回javascript部分.但我不知道该怎么做,因为我的插件已经在asynctask完成之前发回了一些东西.有没有人知道如何在Phonegap中没有插件的情况下通知我的javascript部分?
Pea*_*oon 35
我也在Phonegap Google Group中提出过这个问题,这是Simon Mac Donald的回应.它对我来说很完美:
您可以非常轻松地使用Plugin API来处理这种情况.它在核心API项目Connection和Battery中实现.你需要做的是:
1)在你的插件的execute()方法中保存你得到的callbackId.
2)返回NO_RESULT插件结果并将keep call id设置为true.
PluginResult pluginResult = new PluginResult(PluginResult.Status.NO_RESULT);
pluginResult.setKeepCallback(true);
return pluginResult;
Run Code Online (Sandbox Code Playgroud)
3)当异步java方法完成后返回另一个插件结果,如下所示:
PluginResult result = new PluginResult(PluginResult.Status.OK, data);
result.setKeepCallback(false);
this.success(result, this.myCallbackId);
Run Code Online (Sandbox Code Playgroud)
正如我所说,您可以查看GitHub中的代码,了解我们如何将它用于Connection和Battery.
| 归档时间: |
|
| 查看次数: |
11701 次 |
| 最近记录: |