安卓重启.md 1.1 KB

#安卓

public static void RestartApplication() {
        Activity activity = UnityPlayer.currentActivity;
        Context context = activity.getApplicationContext();
        // 方法1
        Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
//        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//        context.startActivity(intent);
//        android.os.Process.killProcess(android.os.Process.myPid());
        // 方法2
//        Intent intent = context.getPackageManager().getLaunchIntentForPackage(context.getPackageName());
//        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//        context.startActivity(intent);
        // 方法3
//        ActivityManager manager = (ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);
//        manager.killBackgroundProcesses(context.getPackageName());

        // 方法4 √
        Intent restartIntent = Intent.makeRestartActivityTask(intent.getComponent());
        context.startActivity(restartIntent);
        System.exit(0);
    }