android 应用重启实现
2017-05-19 10:04
519 查看
主要用到的类是:Thread.UncaughtExceptionHandler 想了解更多可以百度下这个。。。
现在看主要实现代码吧:
注意:需要在每个启动的activity oncreate中调用
现在看主要实现代码吧:
注意:需要在每个启动的activity oncreate中调用
MyApplication.add 方法,然后在onDestroy函数中调用removeActivity方法。 备注: 这里用PendingIntent 定时重启应用要切记、
public class MyApplication extends android.app.Application { private static ArrayList<Activity> list = new ArrayList<Activity>(); protected static MyApplication instance; @Override public void onCreate() { super.onCreate(); instance = this; Thread.setDefaultUncaughtExceptionHandler(restartHandler); // 程序崩溃时触发线程 以下用来捕获程序崩溃异常 } // 创建服务用于捕获崩溃异常 private Thread.UncaughtExceptionHandler restartHandler = new Thread.UncaughtExceptionHandler() { public void uncaughtException(Thread thread, Throwable ex) { restartApp();//发生崩溃异常时,重启应用 } }; private void restartApp(){ try{ Thread.sleep(1500); }catch (InterruptedException e){ Log.e(TAG, "error : ", e); } Intent intent = new Intent(instance.getApplicationContext(), ConsoleActivity.class); PendingIntent restartIntent = PendingIntent.getActivity(instance.getApplicationContext(), 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK); //退出程序 AlarmManager mgr = (AlarmManager)instance.getSystemService(Context.ALARM_SERVICE); mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent); // 1秒钟后重启应用 instance.finishActivity(); } /** * Activity关闭时,删除Activity列表中的Activity对象*/ public static void removeActivity(Activity a){ list.remove(a); } /** * 向Activity列表中添加Activity对象*/ public static void addActivity(Activity a){ list.add(a); } /** * 关闭Activity列表中的所有Activity*/ public static void finishActivity(){ for (Activity activity : list) { if (null != activity) { activity.finish(); } } //杀死该应用进程 android.os.Process.killProcess(android.os.Process.myPid()); } }
相关文章推荐
- android应用实现重启系统
- android应用实现重启系统
- android应用实现重启系统+签名
- android应用实现重启系统
- Android 应用实现系统重启reboot
- android应用实现重启系统
- cocos2dx android 实现应用重启
- Android实现将应用崩溃信息发送给开发者并重启应用的方法
- Android实现将应用崩溃信息发送给开发者并重启应用的方法
- android应用实现重启系统
- android应用实现重启
- android 2种切换语言方式:应用内切换和随系统而切换 代码实现重启应用
- Android 应用实现系统重启reboot
- Android应用如何实现换肤功能
- Android中实现应用切换主题机制
- Android应用之个人应用软件开发(3)【SQLite数据库及理财功能实现】
- Android 获取root权限实现重启
- 利用Service实现android重启,切换输出制式
- Android中包含多个Activity的应用退出按钮实现
- Android应用如何实现换主题功能