如何在Windows Phone中在后台运行应用程序?

我想在Windows Phone 8中开发一个后台应用程序。就像有一个闪存屏幕,在闪存屏幕启动后,立即将它移到后面。

但是应用程序中存在的计时器应该在后台处于活动状态并继续执行分配的任务。 因此,在前台用户可以继续使用该设备,在后台,应用程序将运行计时器并继续执行任务。

我尝试过使用Periodic任务,但是它们会在30分钟甚至更长时间内触发一次。 但我希望这个应用程序在20秒内触发一次。

请帮助我一些想法。

WP7 / WP8不允许在后台为任意应用程序进行完全多任务处理。 无论你想要实现什么,都必须以其他方式实现,或者只是不在Windows手机上完成。 您已经发现了很多替代方案:WP7.5 警报和提醒 ,WP7 预定平铺更新 ,WP7.5 定期后台代理,资源密集型后台代理 ,WP8 地理位置跟踪应用程序 ,WP7 推送通知等。

WP7 / 8多任务的禅宗是从电池角度,内存使用角度和其他资源来保持手机健康。 所以,没有完整的后台多任务处理。 尽管WP8通过地理位置跟踪应用程序和快速应用程序恢复进行了改进 。

Windows Phone支持单个MainApplication View和后台代理。 如果你想做任何像“screenrecording”这样的应用,由于安全原因和电池原因,这是不可能的。 但是,如果您能够创建自己的Web服务,通​​过Streaming代理流式传输数据应该很容易捕捉到这种情况。

这里有一些代理商的样本。

第9频道

Microsoft.Phone.BackgroundTransfer命名空间

将Windows Phone后台代理添加到XNA游戏中

Windows Phone 7后台代理(CSWP7ScheduledTaskAgent)

例如: https : //code.msdn.microsoft.com/windowsapps/Background-sensors-eb7bb176

您需要从模板“Windows运行时组件”创建一个新项目

对不起我的英文。

您可以启用或禁用在后台运行的应用程序:

转到Settings > battery saver > usage > tap on application > On/Off Background

默认情况下,很少有应用程序可以在后台运行,因为它被禁用,如Phone,FB Messenger等。如果你真的觉得它应该在后台,更好请卸载它。

希望能帮助到你。