android – Cordova插件阻塞线程

android – Cordova插件阻塞线程,第1张

概述我正在为 Android cordova / phonegap应用程序创建一个自定义插件,并且本机Java端会启动一项活动,其中包括由其启动的服务调用的回调.这个想法是回调每隔一秒左右从服务中被击中并且效果很好,但问题是我似乎无法在另一个线程中运行,因此主要的cordova线程被阻止,应用程序完全没有响应. 基于我正在做的文档: @Overridepublic boolean execute(S 我正在为 Android cordova / phonegap应用程序创建一个自定义插件,并且本机Java端会启动一项活动,其中包括由其启动的服务调用的回调.这个想法是回调每隔一秒左右从服务中被击中并且效果很好,但问题是我似乎无法在另一个线程中运行,因此主要的cordova线程被阻止,应用程序完全没有响应.

基于我正在做的文档:

@OverrIDepublic 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;}

我在这里意识到Js回调永远不会被调用(即callbackContext.success();),因为活动是阻塞的,但实际的phonegap线程不应该在返回true后继续运行吗?如果我删除了startActivity调用,那么应用程序将按预期继续工作.

解决方法 我正在调查一个问题(另一个).但似乎UI主线程不等于Cordova线程.会发生什么是UI主线程确实已发布,但Cordova线程不是.

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

callbackContext.success();

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

对不起,它还没有出炉.如果我能找到更多,我会更新.

此外,您可以调用callbackContext.success();首先,然后其余的..(如果它有任何帮助).

总结

以上是内存溢出为你收集整理的android – Cordova插件阻塞线程全部内容,希望文章能够帮你解决android – Cordova插件阻塞线程所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1136638.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存