即使在后台执行任务

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

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

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

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

如果不在前台运行,则无法每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

不,WP8平台并不像你想的那样真正支持后台任务。 这是故意尝试通过让应用程序在后台运行来限制破坏电池寿命。

后台代理是您提供的解决方案,如果您确实需要在应用程序未处于活动状态时运行某些内容,但它们不是您可以安排的内容。

平台期望您切换到一种模型,其中轮询操作被推送通知替换,并且尽可能多的重要处理从设备执行。