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);
}
发布了287 篇原创文章 · 获赞 44 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/mqdxiaoxiao/article/details/103709212
今日推荐