我正在构建一个 WinRT 应用程序,它使用邻近和 WiFi 直接进行点对点通信。结果,当应用程序终止,然后恢复时,我需要它重新开始(连接将被关闭,并且在没有用户交互的情况下无法重新打开)。问题是我继承我的应用程序的 Prism MvvmAppBase 类正在做一些导致它尝试从保存状态(不存在)恢复的事情,并且应用程序最终出现在显示的最后一个屏幕上,但是有没有 ViewModel 支持它,因此根据视图,它只会无响应或崩溃。
我正在查看本指南以获取指导,它说除非有办法重新开始,但我似乎无法找到如何真正做到这一点。 http://msdn.microsoft.com/en-us/library/windows/apps/xx130647.aspx
我一直在研究 App.cs 文件以尝试使其正常工作。除了统一容器和 prism 引导,以及在 Suspending 事件处理程序中调用 NavigationService.Suspending() 之外,App.cs 文件中实际上什么都没有。
bootstrapping 看起来像这样,但是当应用程序从 Termination 恢复时,它永远不会被调用。
protected override async void OnLaunchApplication(LaunchActivatedEventArgs args)
{
await BootStrapper.Config(_container);
await BootStrapper.RegisterPrismInstances(_container, NavigationService, SessionStateService, FlyoutService);
NavigationService.Navigate("Main", null);
}
如果有人以前处理过这个问题,并且可以指出我正确的方向,我将非常感激。