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

时间:2012-11-22 13:45:48

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

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

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

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

请帮助我提出一些想法。

4 个答案:

答案 0 :(得分:14)

WP7 / WP8不允许在后台为任意应用程序进行完全多任务处理。无论你想要实现什么,都必须以其他方式实现,或者只是在Windows手机上完成。你发现有很多选择:WP7.5 Alarms & Reminders,WP7 Scheduled Tile updates,WP7.5 Periodic Background Agents, Resource Intensive Background Agents,WP8 Geolocation tracking apps,WP7 Push Notifications和更多。

WP7 / 8多任务的禅宗是从电池角度,内存使用角度和其他资源来保持手机健康。所以,没有完整的后台多任务处理。虽然WP8使用Geolocation tracking appsFast Application Resume进行了改进。

答案 1 :(得分:0)

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

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

Channel 9

Microsoft.Phone.BackgroundTransfer Namespace

Adding a Windows Phone Background Agent to an XNA Game

Windows Phone 7 Background Agents (CSWP7ScheduledTaskAgent)

答案 2 :(得分:0)

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

您需要从模板“Windows运行时组件”

创建一个新项目 抱歉,我的英语。

答案 3 :(得分:-1)

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

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

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

希望它有所帮助。