我希望这个问题符合网站的标准。我会高兴地更新。
我和许多其他人一样,使用PhoneGap(在本例中为Cordova 3)框架开发多个平台的应用程序,并希望在使用执行其他任务时保持我的应用程序处于活动状态。我已经阅读了这个主题,看似很多意见和可能/部分解决方案。
从理论上讲,我想要做的是让用户返回应用程序,如果他们回来,回家,他们接到电话,他们玩俄罗斯方块或其他什么,特别是如果应用程序想要他们在某些条件下回来。 / p>
我正在通过专注于Android平台解决这个问题,并在此解决后扩展。我理解Android操作系统将杀死不可见和理解并已实现示例后台服务的进程的机制。
我为我的应用程序使用带有可折叠内容的JQuery Mobile。
在我继续开发之前,我想确保我走在正确的道路上。
我已成功实施暂停/恢复以处理手机锁定和睡眠。我的应用程序没有死亡,我可以通过适当的插件使其发出哔哔声并振动。
我的继续意图是......
写一个后台服务,在这种情况下定位“检查”手机相对于已知位置的位置。目的是在用户达到特定接近度时通知用户。这将在“暂停”事件中启动,并在“恢复”或应用程序重新启动时停止。
使用本地存储,维护UI的状态记录,以便可以以正确的状态重新启动它。重新启动后,将恢复存储的状态,应用程序看起来永远不会消失。应用程序中没有任何内容可以不断更新,如图形或日志,因此没有理由从后台服务中检索“过去状态”并执行这些状态的渲染,就好像它们已由应用程序执行,但这不会如果未来需要,这似乎是不合理的。
由于应用程序可能无法运行,因此服务似乎有必要创建一个(“重要的事情发生的事情”)通知,用户可以单击该通知以重新启动应用程序。我找到了几个状态栏通知插件,并打算使用一个。我相信我能够从后台服务alo中相应地发出哔哔声/振动声。
此外,“通常会发生一些事情”连续通知可用于重启应用程序。我认为没有与上述冲突。很高兴能找到“将应用程序带到前台运行”的方法,但我没有希望。
我的基本问题是......
我是否正确地解决了这个问题并保持尽可能多的跨平台工作,同时在实现解决方案的iOS方面时没有让自己陷入困境?
我只是不想错过一个技巧,我没有找到一个似乎是常见问题的答案之海。