Android 杀死应用并重启
public static void restart(Context context) {
// 获取启动的intent
Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
// 设置杀死应用后2秒重启
AlarmManager mgr = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, restartIntent);
// 重启应用
android.os.Process.killProcess(android.os.Process.myPid());
}
或者先延迟几秒再杀死应用,先弹个Toast提示下
public static void restart(Context context) {
Toast.makeText(context, "应用重启中..", Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// 获取启动的intent
Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
PendingIntent restartIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT);
// 设置杀死应用后2秒重启
AlarmManager mgr = (AlarmManager) context.getSystemService(context.ALARM_SERVICE);
mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 2000, restartIntent);
// 重启应用
android.os.Process.killProcess(android.os.Process.myPid());
}
}, 2000);
}