doum
6 小时以前 22881a4d6409c7d17867e1d40bf81a13578208df
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/utils/CrashHandler.java
@@ -14,6 +14,7 @@
import com.doumee.keyCabinet.ui.guide.GuideActivity;
import com.doumee.keyCabinet.ui.main.MainActivity;
import com.doumee.lib_coremodel.util.SpUtil;
import com.innohi.YNHAPI;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
@@ -86,22 +87,30 @@
   public void uncaughtException(Thread thread, Throwable ex) {
      try {
         //导出异常信息到SD卡中
         YNHAPI mAPI = YNHAPI.getInstance();
         mAPI.setNavigationBarVisibility(YNHAPI.NavigationBarVisibility.VISIBLE);
         dumpExceptionToSDCard(ex);
         //System.out.println("重启应用");
         // 创建一个新的启动意图
         /*Intent intent = new Intent(mContext, MainActivity.class);
         // 设置FLAG_ACTIVITY_CLEAR_TASK标志位
         intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
         // 使用PendingIntent包装启动意图
         PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT);
         // 获取AlarmManager实例
         AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
         // 在500毫秒后触发重启操作
         alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 10, pendingIntent);
         long time = SpUtil.getLong("err_app");
         SpUtil.saveLong("err_app",System.currentTimeMillis());
         if(System.currentTimeMillis()-time>60000){
            //报错间隔60秒,才重启
            //System.out.println("重启应用");
            // 创建一个新的启动意图
            Intent intent = new Intent(mContext, MainActivity.class);
            // 设置FLAG_ACTIVITY_CLEAR_TASK标志位
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
            // 使用PendingIntent包装启动意图
            PendingIntent pendingIntent = PendingIntent.getActivity(mContext, 0, intent, PendingIntent.FLAG_ONE_SHOT);
            // 获取AlarmManager实例
            AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
            // 在500毫秒后触发重启操作
            alarmManager.set(AlarmManager.RTC, System.currentTimeMillis() + 10, pendingIntent);
         android.os.Process.killProcess(android.os.Process.myPid());
         System.exit(1);*/
            android.os.Process.killProcess(android.os.Process.myPid());
            System.exit(1);
         }
         //这里可以通过网络上传异常信息到服务器,便于开发人员分析日志从而解决bug
      } catch (IOException e) {
         e.printStackTrace();
         System.out.println("错误日志1"+e.getMessage());
@@ -263,7 +272,7 @@
         dumpPhoneInfo(print);
         print.println();
         ex.printStackTrace(print);
         SpUtil.saveString(FILE_NAME+time,new String(out.toByteArray()));
         //SpUtil.saveString(FILE_NAME+time,new String(out.toByteArray()));
         print.close();
      } catch (Exception e) {
         e.printStackTrace();