apache cordova 应用程序中的后台服务
Posted
技术标签:
【中文标题】apache cordova 应用程序中的后台服务【英文标题】:Background Service in apache cordova app 【发布时间】:2014-11-07 19:12:04 【问题描述】:我需要在给定的时间间隔内使用 Apache Cordova 应用程序轮询服务器,并在有相关信息时通知用户。我不确定是否可以通过 webworkers 完成,因为当应用程序在 ios 和 android 中处于非活动状态时,事件(服务器轮询)也必须发生。
有没有人遇到过类似的问题?我查看了local noifications/dialogs 来传递消息,但我不确定如何创建投票服务。
提前致谢。
【问题讨论】:
【参考方案1】:在我看来,永久投票从来都不是一个好的解决方案。我建议您使用 Push,以便您的服务器在有新内容可用时立即通知应用程序。它可以为您的设备节省大量电池电量,因为它只有在确实有更新时才会被唤醒。推送通知服务正是为此目的而构建的。
看看出色的Push Plugin
for Phonegap,它适用于 iOS、Android 甚至更多平台。要为 iOS 和 Android 设置 Push Plugin
,您可以阅读 Holly Schinsky's tutorial here。
在Ray Wenderlich's tutorial here 中,您可以找到有关如何实现服务器端的详细信息。
如果你真的想坚持轮询,我知道在 iOS 上可以这样做(请参阅 this article 关于 Background Fetch
),不确定 Android (我猜你需要在那里实现服务) .但是,我从未找到相应地处理两个平台的后台执行的 Phonegap 插件。
【讨论】:
+1 用于后台获取。对于我认为的简单任务,电池消耗可以忽略不计。我不会急于使用推送通知解决方案,因为它带来了额外的服务器端逻辑,而且您还依赖第三方(在这种情况下为 Apple 服务器)来提供您的内容...以上是关于apache cordova 应用程序中的后台服务的主要内容,如果未能解决你的问题,请参考以下文章
后台 Javascript 或 Cordova 应用程序中的计时器任务
使用 cordova-plugin-background-mode 在后台模式下进行位置检测和 HTTP 调用