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

时间:2013-02-16 21:38:33

标签: c# xaml windows-phone-8 windows-phone

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

如果我将应用程序开发为前台应用程序,则如果用户打开另一个程序,屏幕锁定(您可以将应用程序配置为在锁定屏幕下继续运行),或者您显示电话,则跟踪将停止。总体而言,应用程序未被执行的风险很高。

操作系统还安排了后台任务,并且只允许运行几秒钟或几分钟,具体取决于手机的当前状态。是否有一些解决方法来安排用户定义的后台任务执行?例如。可以将电子邮件客户端设置为每15分钟获取一次电子邮件,因此必须有某种方式。

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

这是什么最佳做法?只要应用程序按照需要工作,我就不在乎电池耗尽。对于应更频繁更新的瓷砖必须存在类似的解决方案(30分钟甚至更长时间看起来非常长)?我错过了什么吗?

一个可以称之为自己的sleep的基本应用程序会很棒,但如果它在几秒钟后被杀死,那就不会这样做了。或sleep时间不计算?

1 个答案:

答案 0 :(得分:1)

我担心你无法做任何事情来确保你的应用程序执行。

  1. 标准前台应用程序总是不像来电那样重要,因此您必须假设它可以随时暂停或停止。您也无法强迫用户使用您的应用 - 这就是用户可以随时退出应用的原因。

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

  3. 我真的没有办法使用推送通知来做到这一点。但即使有一个,我也确定不应该如何使用该功能。