即使在后台也执行任务

MLP*_*CiM 2 c# background-agents windows-phone-8

可能重复:
如何在Windows Phone中在后台运行应用程序?

我正在调查Windows Phone 8 SKD,以获取有关如何创建任务(即精确的FTP写入)的示例,即使应用程序在后台也会定期执行.

该文档将我指向后台代理,因为后台传输服务"仅支持使用HTTP和HTTPS进行传输.不支持FTP".我一直在尝试和测试样本,一切都在工作(或多或少),除了无法设置后台代理事件时间.根据文档"定期代理通常每30分钟运行一次",并且没有方法/类/构造函数具有时间/日期参数.您有ScheduledActionService.LaunchForTest(任务,时间),但它仅在调试时使用,而不是在生产中使用,并且可以使MS从市场上拒绝您的应用.

是否有任何解决方案或解决方法让我的代理每分钟都启动?

Mar*_*han 5

当前台没有运行时,您无法每1分钟执行一次应用程序执行代码.通常你会用于后台执行,所谓的PeriodicTask或ResourceIntensiveTask.第一个每隔约28分钟运行一次,可以使用不超过6MB的内存(WP8上为11MB),并且必须在~20秒内完成执行.第二个可以运行更长的时间并使用更多的内存,但它有一些严格的要求,如手机上的Wi-Fi信号,充电器等...

你可以在WP8上做的另一件事是实现位置跟踪应用程序,如果它主动跟踪用户的位置,它可以在后台运行.如果您的应用程序是基于位置的,您可以使用它并每1分钟下载任何您想要的内容.但如果您的应用不是基于位置的,那么您很可能会运气不好.

如何使用位置跟踪和后台执行在WP8:
http://msdn.microsoft.com/en-us/library/windowsphone/develop/jj681691(v=vs.105).aspx