Android UncaughtExceptionHandler

来源:互联网 发布:今日头条济南数据分析 编辑:程序博客网 时间:2024/05/16 02:06
public class BaseApplication extends Application implementsUncaughtExceptionHandler {private static Context context;private PendingIntent restartIntent;@Overridepublic void onCreate() {// TODO Auto-generated method stubsuper.onCreate();BaseApplication.context = getApplicationContext();Thread.setDefaultUncaughtExceptionHandler(this);init();}private void init() {Intent intent = new Intent(getApplicationContext(), ExceptionActivity.class);restartIntent = PendingIntent.getActivity(getApplicationContext(), 0,intent, Intent.FLAG_ACTIVITY_NEW_TASK);}public static Context getContext() {return context;}public static void startActivity(Class<?> activity) {Intent intent = new Intent(context, activity);intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);context.startActivity(intent);}@Overridepublic void uncaughtException(Thread thread, Throwable ex) {// TODO Auto-generated method stubSystem.out.println("uncaughtException");AlarmManager mgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE);mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 500,restartIntent); // 0.5钟后重启应用的指定ActivitySystem.exit(2);//结束当前遇到线程出错的应用。}}
0 0
原创粉丝点击