如何在Android的后台运行PhoneGap/Cordova的MainActivity?



背景:

我正在使用Cordova创建一个应用程序,该应用程序应该在iOS和Android上运行。我使用SenchaTouch作为UI,因此iOS和android的UI代码库是相同的。我正在使用适用于iOS和android的Cordova条形码扫描仪插件。扫描器活动由JavaScript代码触发。在我的JS代码中,在调用条形码扫描仪的扫描功能后,我设置了15秒的超时时间,之后如果没有扫描条形码,我会提醒用户。

这在iOS中运行良好。

问题:

我的问题是,一旦ScannerActivity启动,MainActivity(在Cordova中包含运行JS的网络视图)就会进入后台,并被android系统自动停止。这意味着我的JS代码不再运行。暂停ScannerActivity但不停止ScannerActivity后,我需要/想要通过JS触发警报。为此,我需要一种方法来保持MainActivity在后台运行。

解决方案:

我一整天都在网上搜索,到目前为止似乎没有办法做到这一点。但不知怎么的,我认为应该有办法做到这一点。

您可以创建某种可以在后台运行的线程或服务,每次需要时都会触发它。或者将ScannerActivity集成到MainActivity中。

否则,停止/暂停未显示的活动是标准行为,除非是没有ui的服务/线程/活动。

最新更新