我有5个活动。当我点击这 5 个活动中的任何一个按钮时,我想关闭应用程序,当我重新打开它时,我想从第一个活动启动应用程序。谁能帮我。
我使用了这段代码:
CurrentActivity.this.moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
它工作正常,但是当我重新启动应用程序时,它不显示第一个活动。
我有5个活动。当我点击这 5 个活动中的任何一个按钮时,我想关闭应用程序,当我重新打开它时,我想从第一个活动启动应用程序。谁能帮我。
我使用了这段代码:
CurrentActivity.this.moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
它工作正常,但是当我重新启动应用程序时,它不显示第一个活动。
您正在执行的操作不是正确的方法,因为您正在杀死进程,该进程会杀死进程中的所有活动。这会使您的应用程序在您再次打开它时变得不稳定。您当前使用的内容是在 android 任务管理器中使用的,这是唯一授权的方式杀死应用程序。我建议你使用finish()。
这是我找到的最好的方法。它会杀死应用程序的所有活动并将用户返回到主屏幕。
//Takes user to home screen
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
//Kills all activities of app
System.exit(0);
使用 finish() 从 backstack 中弹出您的 Activity 但始终注意BackStack,您可以使用以下标志清除您的后退堆栈:FLAG_ACTIVITY_CLEAR_TOP并在启动 Activity 时使用此标志,因此当您开始第 5 个 Activity 时,只有您的堆栈中的第 5 个 Activity 并完成它会导致您的应用程序关闭。