package com.basic.security.utils; import android.app.AlarmManager; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; import com.basic.security.activity.MainActivity_; import com.basic.security.base.BaseApplication; public class AppUtil { public static void restartApp(Context mContext) { System1.out.println("AppUtil.restartApp"); try { MultipartUtilityV2.uploadCrashDirectory(); } catch (Exception e) { e.printStackTrace(); } if (Constants.autoRestart) { try { BaseApplication.getApplication().executorService.execute(() -> { try { 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()); } catch (Exception e) { e.printStackTrace(); } }); } catch (Exception e) { e.printStackTrace(); } } } }