如果 Metro 应用程序被操作系统终止,启动 Metro 应用程序的正确方法是啥?
Posted
技术标签:
【中文标题】如果 Metro 应用程序被操作系统终止,启动 Metro 应用程序的正确方法是啥?【英文标题】:What is the proper way to launch a metro app if it is terminated by the operating system?如果 Metro 应用程序被操作系统终止,启动 Metro 应用程序的正确方法是什么? 【发布时间】:2013-07-24 13:28:40 【问题描述】:如果应用程序被系统终止,我希望应用程序返回到用户上次使用的任何页面,并让他们从上次中断的地方继续。我遇到的问题是 1. 我的应用有 2 个页面,一个数据页面和一个登录页面,那么如何知道用户最后访问的是哪个页面? 2. 我试图让它从终止状态启动时导航到数据页面:
if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
rootFrame.Navigate(typeof(Messages), args.Arguments);
根据http://msdn.microsoft.com/en-us/library/windows/apps/hh464925.aspx,我应该加载我保存的数据,就好像我正在从暂停状态恢复一样,但是在该页面的 LoadState 方法中,
if (pageState == null)
从终止状态恢复时检查始终为真。问题是启动时传递的 eventargs 将 NavigationMode 设置为 New,因此将其视为第一次看到该页面。我应该怎么做才能解决这个问题,以便加载保存的数据?
【问题讨论】:
【参考方案1】:原来你需要使用 SuspensionManager
http://msdn.microsoft.com/en-us/library/windows/apps/hh986968.aspx
兼顾这两个问题。
【讨论】:
以上是关于如果 Metro 应用程序被操作系统终止,启动 Metro 应用程序的正确方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章
需要未知模块“1”。如果您确定该模块存在,请尝试重新启动 Metro
使用 powershell 启动 Metro 风格的应用程序