WP处理MessageBox导致的应用异常退出
看到题目可能有些同学觉得这是一个老生常谈的问题了,确实这是一个knownissue但我发现还是有同学在询问这个问题,所以在这里给大家总结分享一下。
首先第一个问题MessageBox显示出来以后,如果用户不理会Message页面,大概等上10秒钟程序就会自动退出。(这个现象在Debug时不会出现)
先简单分析一下这个问题的原因,首先为什么在Debug的时候应用不会出问题,很简单我们在调试应用的时候很有可能一个断点停留10秒钟以上(一个返回值阻塞主线程),然而应用在非Debug的情况下出现这种现象,SDK会认为你的代码有问题会强制退出。
其实解决这个问题的方法很简单,既然知道这个问题的原因了,使用一个异步方法(线程)来实解决这个问题。
当然肯定有同学会问,在调用MessageBox之前先把e.Cancel设置成True了那怎么退出应用呢?这也算是一个老问题了(WP7时代遗留问题),这里我也是总结一下经验,从网上看到的一些方法。
WP8
此方法可以直接终结应用:Application.Current.Terminate();
但是此方法这里不会调用页面的OnNavigatedFrom事件和App中的Application_Closing事件,所以在调用此方法前要注意保存用户数据。
WP7
首先XNA中的Game.Exit()不建议使用因为在应用商店审核的时候会遇到问题,导致不能上商店。
目前唯一的靠谱方法就是通过抛异常并且在App文件中的Application_UnhandledException事件中处理它:
网络上抛出异常的方式有两种:
1、自定义的异常
最后使用App.Quit()退出应用。
2、利用NavigationService.GoBack();退出应用
同理,在Application_UnhandledException中处理一下这个异常。
由此,就应该能够解决MessageBox导致的应用异常退出问题了。
- 1WP7新手必知 注册一个可用的Windows Live ID12-26
- 2WP7注册表编辑器修改大全06-08
- 3解锁程序发布 Touch2昂首跨入刷机时代11-08
- 4HD2/LEO进入刷机时代,SSPL解锁工具发布11-08
- 5诺基亚Lumia 800如何实现超长待机06-06
- 6WP手机如何快速同步通讯录05-04
- 7HTC HD7 官方常用问题指南(翻译为中文)12-13
- 8新手必知 关于Windows Phone 7输入法你不知道的事02-08
- 9Windows Phone 7吉祥物Tiler11-09
- 10如何使用 Find my phone 功能找回遗失的手机05-28
- WP app for desktop更新失败的解决方法06-13
- WP处理MessageBox导致的应用异常退出06-05
- 直接在电脑上为WP8手机制作音乐播放列表06-03
- WP8手机来电呼叫转移如何设置教程06-03
- WP8手机格式化内存卡方法05-31
- WP8 U盘模式下各文件夹功能解析05-29
- 解读微软账号下的备份机制05-21
- WP通过USB和云服务同步多媒体文件05-17
- WP8进阶教程那些容易忽略的功能05-16
- WP8进阶教程巧用语音指令功能05-15