锁定屏幕提供程序应用程序的后台任务到期

时间:2014-03-02 12:15:45

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

我对后台任务的到期有疑问。 “所有计划任务类型的约束”部分下的本文(http://msdn.microsoft.com/en-us/library/windowsphone/develop/hh202942(v=vs.105).aspx)指出后台代理不会过期

  • 应用磁贴固定到开始屏幕,后台代理更新它
  • 该应用程序位于锁定屏幕上并向通知发送更新(通过ShellTile)
  • 该应用用于上传类似于OneDrive的图片

我想问一下如何处理完整的锁屏提供程序。我的应用程序仅更新锁定屏幕图像,因为这是应用程序应该实现的目的(它在锁定屏幕上显示您/热门的Instagram图片)。锁屏提供商(如果有效)也会自动续订吗?我没有发送任何平铺更新(因为它无法成为仅锁定屏幕应用程序的目的)。

有谁知道我的任务是否到期?

谢谢!

1 个答案:

答案 0 :(得分:0)

后台任务未过期。您的任务可能无法运行。用户可以禁用应用程序的后台任务,或者是否为您的设备超出后台任务的数量。当周期性后台代理的数量达到设备限制或禁用时,将抛出 InvalidOperationException

LockScreen提供程序放在后台代理中,而不是ScheduledTasks。

  

在后台运行的代码放在一个派生自ScheduledTaskAgent的类中,该派生自BackgroundAgent。

ScheduledTasks是根据您在问题中提到的条件而过期的提醒和警报。

请参阅Best Background agent practices

这种情况对于您的应用程序非常重要,因为它在ResourceIntensiveTask中下载图像:

  

注意:由于必须满足设备的限制   要运行的资源密集型代理程序,代理程序可能会运行   永远不会在特定设备上运行。例如,如果用户没有   可以使用Wi-Fi或PC,他们可能永远不会有非蜂窝电话   连接和设备上的资源密集型代理将   永远不会跑。此外,资源密集型代理程序一次运行一个,因此   随着更多使用资源密集型代理的应用程序的安装   在设备上,代理运行的可能性变得更小。您   在设计应用程序时应考虑这一点。