windows phone 7 让应用程序在后退按钮上运行

Posted

技术标签:

【中文标题】windows phone 7 让应用程序在后退按钮上运行【英文标题】:windows phone 7 keep application running on back button 【发布时间】:2011-08-29 02:58:58 【问题描述】:

我正在实现一个在单击设备上的任何按钮时不应停止运行的应用程序。这可能吗?我该如何实现?

问候

【问题讨论】:

【参考方案1】:

Windows Phone 7 不支持多任务处理(在后台运行应用程序)。从documentation 阅读有关应用程序生命周期的更多信息。 Mango 下一个版本的 Windows Phone 7 将支持在后台运行一些代码。

目前您能做的最好的事情是在应用退出或发送到后台时保存应用状态。对于简单的设置(键值对),您可以使用IsolatedStorageSettings,对于更复杂的设置,您可以使用IsolatedStorage 文件系统。

This 是一篇关于应用程序生命周期和状态保存的非常棒的文章。 而here 是IsolatedStorage 的概述。

【讨论】:

那么我需要将应用程序的状态存储在隔离存储中,然后重新打开后从那里获取吗?【参考方案2】:

您的应用将被删除。您需要对此进行一些研究。

社区中的人们已经建立了许多可以提供帮助的选项。这一切都取决于你想做什么。如果您的模型很复杂,您肯定会序列化为独立存储(但有一些项目可以做到这一点。

一个非常简单的使用是这个:http://tombstonehelper.codeplex.com/

【讨论】:

【参考方案3】:

预计会在下周 (2011-05-24) 发布一整套更新,并且后台任务被认为是受影响的事情之一。

使用公开可用的工具,您可以拥有的最佳效果是“在锁定下运行”,您可以通过关注 these instructions 来实现。

请注意,这种行为通过合规性测试的情况非常有限,因为您会严重损坏电池。

您关于隔离存储的问题很好。这是保持状态的仅有的两种方法之一。另一种是使用 Web 服务将状态存储在服务器上(云计算)。

要直接回答您的一个问题,不,不可能创建一个不能被任何按钮中断的流程。这都是关于资源管理和保持用户体验的。 WP7 应用程序的架构完全是 UI 驱动的。只有一个用户进程正在运行,用户可以随时通过调用另一个应用程序来抢占它。这使得编写日志服务几乎不可能,但即将到来的更新可能会改变游戏规则。

【讨论】:

下周可能会发布新的 Mango SDK,但不会发布新的手机位。此外,当成为墓碑时,您要做的最后一件事是将豪华数据发送到 Web 服务 - 如果出现问题,您会丢失数据。存储在独立存储中(或 Mango 中的数据库)要好得多

以上是关于windows phone 7 让应用程序在后退按钮上运行的主要内容,如果未能解决你的问题,请参考以下文章

windows phone 7中的循环声音

Windows phone 后退按钮关闭应用程序而不是返回页面

Sencha Touch - Windows Phone 8 Phonegap 应用程序栏不隐藏在后退按钮单击

如何让您的 Windows Phone 7.5 应用程序保持领先

JSON RPC 和 Windows 7 Phones (Mango),我怎样才能让它工作?

如何在 Windows Phone 7 上播放在线声音剪辑?