如何以编程方式关闭WP7应用程序?
答案 0 :(得分:28)
您可以随时在登录页面上调用退出单击应用程序返回按钮时使用此代码:
if (NavigationService.CanGoBack)
{
while (NavigationService.RemoveBackEntry() != null)
{
NavigationService.RemoveBackEntry();
}
}
这将从堆栈中删除后退条目,您将按下后退按钮,它将关闭应用程序,没有任何例外。
答案 1 :(得分:8)
承认提供“退出”按钮的已知解决方案,目前我没有看到从WP7应用程序实现“退出”的令人信服的理由。
该平台完全能够管理应用程序的关闭。越多的应用程序不提供退出,更快的用户将习惯于不考虑应用程序内容,并让平台管理它。
用户只需使用开始,返回等方式导航设备
如果用户想要从当前的应用程序中快速做其他事情 - 很简单 - 他们只是点击开始。
.Exit(),虽然可用于xna,但实际上也不再需要了。在CTP期间有一项证书要求,即游戏必须提供退出按钮。现在已经不见了。
非游戏应用程序从未需要实现此功能。
本主题讨论的内容越多(并且实际上已经给出了很好的解决方案),对我的指标越多表明不需要编写退出代码。
还应该提到应用程序证书要求是特定的,应用程序不应该有未处理的例外。
答案 2 :(得分:7)
实际上没有好方法。有nice explanation/overview of your options here。
简而言之,如果这是一个Silverlight应用程序(不是XNA),则不支持它。您可以简单地抛出未处理的异常,应用程序将退出。我不建议这样做,这似乎是一种黑客行为,也是一种相当粗暴的做法。
Here is a way to make it look nicer,但在一天结束时仍会抛出异常。我不知道应用程序认证过程是否会抛出未处理的异常,但我想这可能是一个问题。
答案 3 :(得分:5)
最简单的方法是从您的root / home页面进行模拟。我猜这正是像水果忍者那样的应用程序(那些已经退出按钮)。
if ( NavigationService.CanGoBack )
{
NavigationService.GoBack();
}
顺便说一句,上面的代码片段适用于Silverlight应用。
答案 4 :(得分:4)
退出应用程序的另一种方法是调用Microsoft Xna框架的Game类的exit函数。
例如:
Microsoft.Xna.Framework.Game game = new Microsoft.Xna.Framework.Game();
game.Exit();
答案 5 :(得分:0)
private void exitBUtton_ONclick(object sender, RoutedEventArgs e)
{
throw new Exception("ExitAppException");
}