控制WP8中任何条件下的应用程序执行



我正在尝试为Windows Phone 8构建一个基本的跟踪应用程序。但是我不知道该用哪种型号。应用程序应以可定义的时间间隔(例如5秒甚至2小时)记录位置。

如果我将应用程序开发为前台应用程序,则如果用户打开另一个程序、屏幕锁定(您可以将应用程序配置为在锁定屏幕下继续运行),或者您收到电话,则跟踪将停止。总的来说,应用程序不被执行的风险太高了。

还有一些后台任务由操作系统安排,根据手机的当前状态,只允许运行几秒钟或几分钟。是否有一些变通方法来安排用户定义的后台任务执行?例如,电子邮件客户端可以设置为每15分钟提取一次电子邮件,因此必须有某种方法。

第三种选择是使用推送通知服务。然而,这似乎很愚蠢,因为必须涉及一些第三方Microsoft服务器,并且可能会受到其他限制。更重要的是,应用程序必须运行才能接收通知。

这方面的最佳实践是什么?只要这个应用程序能正常工作,我就不在乎电池电量耗尽。对于应该更频繁更新的瓷砖,必须存在类似的解决方案(30分钟甚至更长时间似乎非常长)?我是不是错过了什么?

一个可以调用自己的sleep的基本应用程序会很好,但如果它在几秒钟后被杀死,那就不行了。或者sleep的时间不算吗?

恐怕您无法确保应用程序的执行。

  1. 标准的前台应用程序总是不如来电之类的东西重要,所以你必须假设它可以随时暂停或停止。你也不能强迫用户使用你的应用程序——这就是为什么用户可以随时退出应用程序。

  2. Windows Phone上的后台执行不能永久化——这就是操作系统的设计方式。邮件应用程序不是一个好例子,因为它是一个内置应用程序。它是作为该系统的一部分制定的,因此它有另一套规则(如果有的话)。

  3. 我真的看不到使用推送通知的方法。但即使有,我相信这也不是该如何使用该功能。

最新更新