Thread.UncaughtExceptionHandler 接口并复写uncaughtException(Thread thread, Throwable ex)方法来实现对运行时线程进行异常处理。在Android中我们可以实现自己的Application类,然后实现 UncaughtExceptionHandler接口,并在uncaughtException方法中处理异常,这里我们关闭App并启动我们需要的Activity,下面看代码:

ps:MainActivity为应用的启动Activity

  ?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 public class MyApplication  extends Application  implements           Thread.UncaughtExceptionHandler {       @Override       public void onCreate() {           super .onCreate();           //设置Thread Exception Handler           Thread.setDefaultUncaughtExceptionHandler( this );                @Override       public void uncaughtException(Thread thread, Throwable ex) {                   //设置此处的MainActivity为启动Activity          Intent intent =  new Intent( this , MainActivity. class );           intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP |           Intent.FLAG_ACTIVITY_NEW_TASK);           startActivity(intent);          System.exit(0); 
             }
最后需要在Manifest中配置Application的标签android:name=".MyApplication",让整个应用程序使用我们自定义的Application类,这样就实现了当应用遇到崩溃异常时重启应用的效果。

我们在任意一个Activity中主动抛出下面异常,就会发现应用遇到异常后重启了,如果不处理的话,应用在遇到异常后就关闭了。


更多相关文章

  1. Android(安卓)Service总结03 之被启动的服务 -- Started Service
  2. Android在WebView上构建Web应用程序
  3. Android(安卓)检测SD卡应用
  4. Android(安卓)横竖屏操作
  5. Android清除本地数据缓存代码
  6. [连载 1/15] Android(安卓)从入门到精通Example 之 TextBox
  7. Android(安卓)Shell命令dumpsys
  8. Android(安卓)AM命令行启动程序的方法
  9. Android配置----Eclipse+BlueStacks调试Android应用

随机推荐

  1. Android(安卓)多媒体
  2. android 适配器Adpter的使用总结 之 Curs
  3. 使用GreenDroid开源项目
  4. android上传图片和参数(属性)到服务器
  5. Android(安卓)jni调用第三方so库和.h文件
  6. Android中SQLite数据库存储方式 .(转)
  7. ubuntu下Qt之android环境配置以及一些常
  8. Android中Touch手势分发
  9. HTML iframe标签用法案例详解
  10. HTML DOM setInterval和clearInterval方