a
554325746@qq.com
2019-07-15 e6a8bdd23d6f5cb46ac650285829573280edcdf6
app/src/main/java/com/basic/security/utils/CrashHandler.java
@@ -15,9 +15,14 @@
import com.basic.security.activity.MainActivity_;
import com.basic.security.base.BaseApplication;
import com.facebook.common.file.FileUtils;
import org.springframework.util.FileCopyUtils;
import org.xutils.common.util.FileUtil;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.io.Writer;
@@ -48,7 +53,7 @@
    private Map<String, String> infos = new HashMap<String, String>();
    // 用于格式化日期,作为日志文件名的一部分
    private DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    private static DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
    /**
     * 保证只有一个CrashHandler实例
@@ -99,17 +104,20 @@
            e.printStackTrace();
        }
        try {
            new Thread() {
            if (Constants.autoRestart) {
                new Thread() {
                @Override
                public void run() {
                    Intent intent = new Intent(mContext, MainActivity_.class);
                    PendingIntent restartIntent = PendingIntent.getActivity(mContext, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
                    AlarmManager mgr = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
                    mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent);
                    android.os.Process.killProcess(android.os.Process.myPid());
                }
            }.start();
                    @Override
                    public void run() {
                        Intent intent = new Intent(mContext, MainActivity_.class);
                        PendingIntent restartIntent = PendingIntent.getActivity(mContext, 0, intent, Intent.FLAG_ACTIVITY_NEW_TASK);
                        AlarmManager mgr = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE);
                        mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 1000, restartIntent);
                        android.os.Process.killProcess(android.os.Process.myPid());
                    }
                }.start();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
@@ -208,6 +216,26 @@
        return fileName;
    }
    public static String getErrorContent()  {
        String time = formatter.format(new Date());
        String fileName = "crash-" + time + ".log";
        String content = "";
        try {
            String path = getGlobalpath();
            File dir = new File(path);
            if (!dir.exists())
                dir.mkdirs();
            File file = new File(path+fileName);
            if (file.exists()) {
                content = FileCopyUtils.copyToString(new FileReader(file));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return content;
    }
    public static String getGlobalpath() {
        return BaseApplication.getApplication().getFilesDir().getAbsolutePath();
//        return Environment.getExternalStorageDirectory().getAbsolutePath()