wp7怎么退出应用程序?

随风忘记 2012-06-17 05:50:16
做了个可以进行快捷方式的程序.但是在跳转到设置页面后本程序还没退出,如果按后退键就会又回到设置界面上了.想问一下怎么样才能退出应用?
貌似抛出异常的方法会通不过审核.
NavigationService.GoBack();这个也是抛出异常退出的.
...全文
632 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
henryMessi 2012-11-05
  • 打赏
  • 举报
回复
while (NavigationService.BackStack.Any()) { NavigationService.RemoveBackEntry(); } // NavigationService.GoBack(); 最后面这一句话不需要,因为所有的后退堆栈都已清理,系统会自动帮助退出
ycproc 2012-06-22
  • 打赏
  • 举报
回复


抛出一个 异常 退出
邪恶的南瓜 2012-06-21
  • 打赏
  • 举报
回复
微软并没提供直接退出的方法,那个物理键就是微软的理由。一个用XNA中的Game.Exit()退出,但是不符合微软规范。第二个是抛出Quit异常来退出程序,好像改一下App类,然后调用App.Quit()退出。但是怎样也不如桌面应用上的Application.Exit()来的舒服。
随风忘记 2012-06-20
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

抛出个无法捕获的异常就自动退出了
[/Quote]
嗯,目前就是这样做的,现在已经通过验证了.不过那崩溃次数也让人崩溃啊....
nkxiaoqi 2012-06-19
  • 打赏
  • 举报
回复
抛出个无法捕获的异常就自动退出了
随风忘记 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

你的目的无非是不想出现那个已经设置过了的设置界面,我理解的对么?
那么你把那一栈给remove掉不行么?然后其他的操作还按照微软的back方式呗
[/Quote]
这样用户需要多点一次back键.
我是在桌面上设置了一个wifi设置快捷方式,点击跳转到winfi设置界面,用户设置好了后点击back键会返回到我的程序.按理说应该跳转到桌面
gnimgnot 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

引用 1 楼 的回复:

先清后退栈里的项,再后退
while (NavigationService.BackStack.Any())
{
NavigationService.RemoveBackEntry();
}
Navigatio……

这个也是报异常退出的.
NavigationService.GoBack();这句在没有后退时会报异常
[/Quote]


我认为程序不可能无论任务情况都不能异常被退出的。

当然了,个人理解,没有上传过这种方式
随风忘记 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

WP平台的机制就决定了,应用程序不需要提供退出的接口。
[/Quote]
但是设置快捷方式这个肯定要退出的,不能用户设置好了无线设置,按后退结果还是在我们程序里面吧?
随风忘记 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]

先清后退栈里的项,再后退
while (NavigationService.BackStack.Any())
{
NavigationService.RemoveBackEntry();
}
Navigatio……
[/Quote]
这个也是报异常退出的.
NavigationService.GoBack();这句在没有后退时会报异常
世外涛缘 2012-06-18
  • 打赏
  • 举报
回复
WP平台的机制就决定了,应用程序不需要提供退出的接口。
gnimgnot 2012-06-18
  • 打赏
  • 举报
回复
你的目的无非是不想出现那个已经设置过了的设置界面,我理解的对么?
那么你把那一栈给remove掉不行么?然后其他的操作还按照微软的back方式呗
随风忘记 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

引用 5 楼 的回复:

引用 3 楼 的回复:

引用 1 楼 的回复:

先清后退栈里的项,再后退
while (NavigationService.BackStack.Any())
{
NavigationService.RemoveBackEntry();
}
Navigatio……

这个也是报异常退出的.
NavigationService.GoBa……
[/Quote]

目前为止我还没找到不用异常退出程序的方法,如果用异常退出程序的话,发布到商店里面,程序崩溃数会很大的.
而且能不能通过微软验证都不好说.
随风忘记 2012-06-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 3 楼 的回复:

引用 1 楼 的回复:

先清后退栈里的项,再后退
while (NavigationService.BackStack.Any())
{
NavigationService.RemoveBackEntry();
}
Navigatio……

这个也是报异常退出的.
NavigationService.GoBack();这句在没有后退时会报异……
[/Quote]
目前没找到不用异常退出的方法,如果用异常退出的话,当你发布到商店里面后,你程序的崩溃数会很大的.
gnimgnot 2012-06-17
  • 打赏
  • 举报
回复
先清后退栈里的项,再后退
while (NavigationService.BackStack.Any())
{
NavigationService.RemoveBackEntry();
}
NavigationService.GoBack();

NavigationService.BackStack.Any();//这一句要经用linq才行

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧