Cordova插件阻塞线程

我正在为Android cordova / phonegap应用程序创build一个自定义插件,而本地Java端则启动了一个包含由它启动的服务调用的callback的活动。 这个想法是,callback从服务中得到每秒钟左右,而且效果很好,但问题是,我似乎无法得到这个在另一个线程运行,所以主cordova线程被阻止,应用程序是完全没有反应。

根据我正在做的这个文件:

@Override public boolean execute(String action, JSONArray args, final CallbackContext context) throws JSONException { /* snip */ cordova.getThreadPool().execute(new Runnable() { public void run() { Intent myIntent = new Intent(this.cordova.getActivity(), myMonitoring.class); this.cordova.getActivity().startActivity(myIntent); callbackContext.success(); } }); return true; } 

我知道这里的JScallback将永远不会被调用(即callbackContext.success(); ),因为该活动阻止,但不应该实际的phonegap线程后return true保持运行? 如果我删除了startActivity调用,那么应用程序继续按预期工作。

Solutions Collecting From Web of "Cordova插件阻塞线程"

我正在调查一个问题(另一个)。 但似乎UI主线程不等于cordova线程。 然后会发生什么是UI主线程确实被释放,但Cordova线程不是。

顺便说一句,我也认为有一个区别:

 callbackContext.success(); 

 callbackContext.sendPluginResult(new PluginResult(PluginResult.Status.OK, result)); 

它还没有烤,对不起。 如果我find更多,我会更新。

另外,你可以调用callbackContext.success(); 首先,然后剩下的(如果有帮助的话)。