【问题标题】:Can I run cordova app in background我可以在后台运行科尔多瓦应用程序吗
【发布时间】:2015-08-24 09:50:06
【问题描述】:


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

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

请帮忙。谢谢。

【问题讨论】:

  • katzer/cordova-plugin-background-mode我用这个插件在后台运行应用程序,它运行正常,但在Android手机上,它只在按home时有效,如果你按返回键退出应用程序,它会无法在后台运行。 Red-Folder/bgs-core你必须为Android应用创建自己的服务后台。

标签: cordova phonegap-plugins ionic phonegap-build


【解决方案1】:

您必须记住,Cordova 应用程序在应用程序主 (GUI) 线程中的 web 视图中运行。实际上,只有在操作系统决定出于任何原因(通常是为了保留 RAM 和/或电池)而停止它之前,您的应用程序才会以最小化的方式运行。

对于 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 在应用最小化时播放背景音频和视频。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-03
    • 2019-04-14
    • 2017-06-08
    • 1970-01-01
    • 2018-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多