我得到了:
该应用程序调用了一个为a编组的接口 不同的主题。
错误在线“Window.Current.Activate();”按下我手机上的“windows”按钮(暂停应用程序),然后从申请清单。如果我按“windows”按钮,然后按“返回”按钮返回应用程序 - 没问题。 此外,我第一次运行应用程序时没有问题。
如果应用程序在启动按钮后无法恢复,则下次从头开始并正常工作,直到我按“窗口”然后再次尝试启动应用程序。
我也尝试过:
var disp = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;
disp.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
Window.Current.Activate());
然后应用程序无法恢复,尽管没有发生错误。 我在应用程序中做了什么: 我有一个stackpanel,我通过 c#代码添加元素。那部分我也尝试过调度员,但没有帮助。
我还异步读/写文件。也许这也有帮助。
如果你可以帮我简单地关闭应用程序而不是暂停,虽然它不是最好的解决方案,但它仍然可以帮助我。谢谢!
更新: 以下是该函数的完整代码:
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
#if DEBUG
if (System.Diagnostics.Debugger.IsAttached)
{
DebugSettings.EnableFrameRateCounter = true;
}
#endif
Frame rootFrame = Window.Current.Content as Frame;
// Не повторяйте инициализацию приложения, если в окне уже имеется содержимое,
// только обеспечьте активность окна
if (rootFrame == null)
{
// Создание фрейма, который станет контекстом навигации, и переход к первой странице
rootFrame = new Frame();
// TODO: Измените это значение на размер кэша, подходящий для вашего приложения
rootFrame.CacheSize = 1;
// Задайте язык по умолчанию
rootFrame.Language = Windows.Globalization.ApplicationLanguages.Languages[0];
if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
{
// TODO: Загрузить состояние из ранее приостановленного приложения
}
// Размещение фрейма в текущем окне
Window.Current.Content = rootFrame;
}
if (rootFrame.Content == null)
{
// Удаляет турникетную навигацию для запуска.
if (rootFrame.ContentTransitions != null)
{
this.transitions = new TransitionCollection();
foreach (var c in rootFrame.ContentTransitions)
{
this.transitions.Add(c);
}
}
rootFrame.ContentTransitions = null;
rootFrame.Navigated += this.RootFrame_FirstNavigated;
// Если стек навигации не восстанавливается для перехода к первой странице,
// настройка новой страницы путем передачи необходимой информации в качестве параметра
// навигации
if (!rootFrame.Navigate(typeof(MainPage), e.Arguments))
{
throw new Exception("Failed to create initial page");
}
}
// Обеспечение активности текущего окна
//if (e.PreviousExecutionState != ApplicationExecutionState.Running)
//Dispatcher.Invoke((Action)(() => messageList.Add(read)));
//var disp = Windows.UI.Core.CoreWindow.GetForCurrentThread().Dispatcher;
var disp = Window.Current.Dispatcher;
disp.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
Window.Current.Activate());
}
答案 0 :(得分:0)
我已将完整代码复制到一个新的枢轴项目中(之前我开始了一个空白的Windows手机项目)。现在它有效,虽然我没有改变任何东西。
谢谢大家的帮助!