【问题标题】:How to switch from foreground application to background agent?如何从前台应用切换到后台代理?
【发布时间】:2011-11-19 10:13:02
【问题描述】:

我想知道是否可以从前台应用程序切换到后台代理程序,反之亦然,共享这两个任务的一些数据?

更深入地,我想做一个从前台开始的上传(图A),当用户按下后退按钮时,上传继续使用后台代理(图B)。

图片在这里:http://imageshack.us/f/823/testter.jpg/

【问题讨论】:

    标签: windows-phone-7 windows-phone-7.1 background-agents


    【解决方案1】:

    Background file transfer 是您所需要的。它可以在应用程序未运行时上传(和下载)文件:

    使用 Windows Phone OS 7.1,应用程序可以排队一个或 更多通过 HTTP 上传或下载的文件将在 后台,即使应用程序不再在 前景。应该使用用于启动文件传输的 API 查询现有传输状态并提供进度指示器 最终用户。

    【讨论】:

    • 我有点困惑...我想通过后台代理在 Twitter 上上传一张图片,所以不可能吗?谢谢
    【解决方案2】:

    您确实意识到您不能通过 PeriodicTask 不断更新磁贴,对吧?最短刷新时间为 30 分钟,除非您进行推送通知(我在这里假设您不会,因为它是客户端操作)。

    而且磁贴本身没有多大意义。而且我不认为使用最大运行时间为 25 秒的任务对于上传文件来说意义重大。

    所以我想我们可以得出这样的结论:不可能做到这一点。相反,您应该允许应用程序在后台运行,方法是将ApplicationIdleDetectionMode 设置为Disabled

    PhoneApplicationService.Current.ApplicationIdleDetectionMode = IdleDetecetionMode.Diabled"
    

    然后用户可以按下主页按钮,下载将在后台进行。

    【讨论】:

    • 后台任务可以通知服务器端发出推送通知=)
    • 如果您真的想这样做,有很多疯狂的方法可以做到。我不会推荐其中任何一个:p
    • 是的,我读过后台文件传输,但它显然与periodicTask的“规则”相反......问题是后台传输没有很好地解释并且没有太多示例:)跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-06
    • 2021-12-06
    • 2015-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多