【发布时间】:2011-11-19 10:13:02
【问题描述】:
我想知道是否可以从前台应用程序切换到后台代理程序,反之亦然,共享这两个任务的一些数据?
更深入地,我想做一个从前台开始的上传(图A),当用户按下后退按钮时,上传继续使用后台代理(图B)。
【问题讨论】:
标签: windows-phone-7 windows-phone-7.1 background-agents
我想知道是否可以从前台应用程序切换到后台代理程序,反之亦然,共享这两个任务的一些数据?
更深入地,我想做一个从前台开始的上传(图A),当用户按下后退按钮时,上传继续使用后台代理(图B)。
【问题讨论】:
标签: windows-phone-7 windows-phone-7.1 background-agents
Background file transfer 是您所需要的。它可以在应用程序未运行时上传(和下载)文件:
使用 Windows Phone OS 7.1,应用程序可以排队一个或 更多通过 HTTP 上传或下载的文件将在 后台,即使应用程序不再在 前景。应该使用用于启动文件传输的 API 查询现有传输状态并提供进度指示器 最终用户。
【讨论】:
您确实意识到您不能通过 PeriodicTask 不断更新磁贴,对吧?最短刷新时间为 30 分钟,除非您进行推送通知(我在这里假设您不会,因为它是客户端操作)。
而且磁贴本身没有多大意义。而且我不认为使用最大运行时间为 25 秒的任务对于上传文件来说意义重大。
所以我想我们可以得出这样的结论:不可能做到这一点。相反,您应该允许应用程序在后台运行,方法是将ApplicationIdleDetectionMode 设置为Disabled
PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetecetionMode.Diabled"
然后用户可以按下主页按钮,下载将在后台进行。
【讨论】: