【问题标题】:Windows 8 Metro/Immersive App - Force TerminateWindows 8 Metro/沉浸式应用程序 - 强制终止
【发布时间】:2013-02-08 16:32:45
【问题描述】:

我正在将应用程序从 iOS 移植到 WinRT/8 Metro/8 Immersive/无论当前名称是什么。

在 iOS 上,我们可以将 Application does not run in background 设置为 YES 以使应用在用户离开应用时真正退出。

我想弄清楚如何在 WinRT 中复制这种行为。

  1. 是的,我知道这是异常行为。
  2. 是的,我已经考虑过了。
  3. 是的,我这样做是有充分理由的。

我假设在userLeavingApp 事件期间,我只会调用Application.Current.Exit(),但我似乎找不到userLeavingApp 事件。我曾考虑在 App.xaml.vb 中使用 OnSuspending (Handles Me.Suspending),但这对我来说似乎调用得不够快。

是否有 .NET 等价于 viewWillDisappear 或其他东西?

有什么想法吗?这是我的应用程序的一个重要安全特性,我不想因为这样一个小问题而在整个平台上遇到这样的困难。

谢谢!

【问题讨论】:

    标签: vb.net microsoft-metro windows-runtime terminate


    【解决方案1】:

    我实际上并没有看到 Application.Current.Exit() 在 OnSuspending 中工作;尽管正如您提到的,暂停对您来说发生得不够快(这是设计使然)。在那里抛出异常对我也不起作用。

    Window.VisibilityChanged,如果我在那里发出退出/异常,它会在另一个应用程序接管时关闭应用程序。也就是说,VisibilityChanged 在其他情况下也会触发,因此不确定您是否可以涵盖所有场景或依赖它们不改变。 See here 了解更多上下文。

    回应刚刚弹出的@Filip,您不太可能通过认证。 Exit() 调用相当于异常。

    【讨论】:

      【解决方案2】:

      如果您致电Application.Current.Exit(),我认为您的应用不会通过认证。如果你真的有信心这就是你想要的——我想值得一试。您可以在退出时简单地卸载任何使用内存/CPU 的东西。

      【讨论】:

        猜你喜欢
        • 2019-05-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 2021-05-31
        • 2011-04-20
        • 2013-04-03
        相关资源
        最近更新 更多