C# 在windowsphone 8/8.1 Silverlight中,是否可以区分应用程序是由用户关闭还是在后台终止

C# 在windowsphone 8/8.1 Silverlight中,是否可以区分应用程序是由用户关闭还是在后台终止,c#,.net,xaml,silverlight,windows-phone-8,C#,.net,Xaml,Silverlight,Windows Phone 8,我有一个要求,如果windows phone应用程序在后台终止,我希望在应用程序再次启动时显示用户离开的同一页面 但是,如果用户关闭应用程序,我必须显示登录页面 windows phone silverlight应用是否可能因操作系统资源要求而在后台终止,类似于windows平板电脑应用?我从未见过windows phone silverlight应用程序在后台被终止,我可以看到,当我们长按后退按钮时,最多会显示7-8个最近的应用程序。即使我的应用程序不在最近列表中,它也会恢复到同一页面,并且我

我有一个要求,如果windows phone应用程序在后台终止,我希望在应用程序再次启动时显示用户离开的同一页面

但是,如果用户关闭应用程序,我必须显示登录页面

windows phone silverlight应用是否可能因操作系统资源要求而在后台终止,类似于windows平板电脑应用?我从未见过windows phone silverlight应用程序在后台被终止,我可以看到,当我们长按后退按钮时,最多会显示7-8个最近的应用程序。即使我的应用程序不在最近列表中,它也会恢复到同一页面,并且我会将事件IsApplicationInstancePreserved设置为true

然而,似乎没有办法确定应用程序是否被操作系统终止,这样我就可以导航到用户以前所在的页面

有两种方法可以关闭windows phone应用程序
1) 按第一页上的“后退”按钮,在这种情况下,将触发关闭事件。
2) 长按后退按钮并关闭最近的应用程序列表中的应用程序,当用户长按并关闭时,将触发停用事件。

当用户按下windows按钮时,停用的事件被触发,应用程序进入后台

如果您的应用程序在后台被终止/关闭,则在启动应用程序时,在启动方法中OnLaunchApplicationAsync(LaunchActivatedEventArgs args)args具有名为PreviousExecutionState的属性,该属性是ApplicationExecutionState类型的枚举,具有以下值:

public enum ApplicationExecutionState
{
    NotRunning = 0,
    Running = 1,
    Suspended = 2,
    Terminated = 3,
    ClosedByUser = 4,
}

希望这有帮助

感谢您的回答,但我无法在windows phone 8.1 silverlight应用程序中使用此事件。我无法仅在LaunchApplicationAsync(LaunchActivatedEventArgs args)上重写此方法,但是我可以通过转到其定义来查看LaunchActivatedEventArgs。App.xaml.cs有此方法的默认实现,您不必显式重写。或者,在您的情况下,方法名称仅为LaunchActivatedEventArgs。在该方法中,当我在visual studio for windows phone 8.1 silverlightOk中创建项目时,只有您可以基于ApplicationExecutionState执行某些操作。我看不到默认实现。启动方法args在WP8.1 silverlight中没有ApplicationExecutionState它唯一存在的IActivatedEventArgs是契约激活的方法。那么是否有可能签入windows phone 8 silverlight项目?