package ezviz.ezopensdkcommon.common; import android.app.ActivityManager; import android.app.Application; import android.content.Context; import android.content.Intent; import com.alibaba.android.arouter.launcher.ARouter; import ezviz.ezopensdkcommon.debug.LogFileUtil; public class BaseApplication extends Application { public static Application mInstance = null; @Override public void onCreate() { super.onCreate(); mInstance = this; // 初始化ARouter ARouter.openDebug(); ARouter.openLog(); ARouter.init(this); // 初始化日志文件进程 if (isMainProcess()){ LogFileUtil.startSaveLogToFile(getApplicationContext()); } } @Override public void onTerminate() { super.onTerminate(); if (isMainProcess()){ LogFileUtil.stopSaveLogToFile(); } } /** * 获取当前进程名 */ private String getCurrentProcessName() { int pid = android.os.Process.myPid(); String processName = ""; ActivityManager manager = (ActivityManager) getApplicationContext().getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningAppProcessInfo process : manager.getRunningAppProcesses()) { if (process.pid == pid) { processName = process.processName; } } return processName; } /** * 包名判断是否为主进程 */ private boolean isMainProcess() { return getApplicationContext().getPackageName().equals(getCurrentProcessName()); } public static void restartApp(Context context){ final Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName()); if (intent != null){ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(intent); System.exit(0); } } }