我可以在后台 运行 cordova 应用程序吗

Can I run cordova app in background


所以我问你们所有人 PhoneGap/Cordova/... 专家,我有一个即将进行的项目,我的目标是 iOS 和 Android 我必须决定是否跨平台或原生。
但是,此应用程序必须 运行 在其生命周期的某个时刻处于后台。我找到了这些插件,但有些人说它不起作用:

问题是我可以使用 Crodova 技术做背景知识吗?如果是,哪个是最好的插件?

请帮忙。谢谢

您必须记住,Cordova 应用程序 运行 在您应用程序的主 (GUI) 线程的 Web 视图中。实际上,您的应用程序只会 运行 最小化,直到 OS 决定出于任何原因(通常是为了保护 RAM and/or 电池)而停止它。

对于 Android 应用程序,您可以创建自己的 Cordova 插件来实现后台服务。您可以使用 Red-Folder/bgs-core 作为起点,而不是从头开始。您必须使用 java 和 Android SDK 编写 bg 服务的逻辑。

对于 iOS 应用程序,它更棘手。 Apple 只允许在一些用例中使用后台代码:音频播放、GPS 跟踪等。 cordova-plugin-background-mode 伪造后台音频播放以保持应用程序处于活动状态,但它不会被应用程序商店接受。我在 iOS 上的(非常肤浅的)测试表明,当使用 cordova-plugin-background-mode 并实际播放背景音频时,我的应用程序中的 Javascript 回调会被不规律地调用(调用晚了,有时不调用根本没有打电话)。

对于我的用例,我最终实现了上述的 Android 服务和一个 iOS 插件,该插件使用 Apple 的 AVQueuePlayer 在应用程序最小化时播放背景音频和视频.