【问题标题】: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,因此将其视为第一次看到该页面。我应该怎么做才能解决这个问题,以便加载保存的数据?

【问题讨论】:

    标签: c# microsoft-metro windows-store-apps application-lifecycle


    【解决方案1】:

    原来你需要使用 SuspensionManager

    http://msdn.microsoft.com/en-us/library/windows/apps/hh986968.aspx

    兼顾这两个问题。

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2014-07-05
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 2014-04-23
      相关资源
      最近更新 更多