Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
然后我回复我的申请并看到......这不是第一次“活动”..这是我最后的“活动”
如何设置程序...从第一个活动开始?
仅当我点击“退出”
时 我有: [1]活动[2]活动[3] [4]当我在[4]或[3]活动中按下“退出”时,我进入“主”,然后如果我开始或返回应用程序我再次创建[1]活动 如果我“回头”或按下“向下按钮”按钮并返回应用程序我按下按钮时启动“onResume()”
答案 0 :(得分:1)
您可以通过将android:clearTaskOnLaunch属性设置为主要活动的<activity>
标记(开始活动)来实现此目的
如果您只想在活动中按“退出”按钮清除任务,则可以在开始主页活动之前在该活动中呼叫finish()
。但是,只有在第二个活动中退出时才适用。
答案 1 :(得分:1)
我认为问题在于您创建Intent
的方式。可能这两个陈述
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
让Android认为您的MainActivity
是从启动器启动的,因此会恢复完整的导航堆栈,您会看到最新的启动活动。我建议删除这些行。
以下启动MainActivity
的代码应该可以正常运行:
Intent intent=new Intent(getApplicationContext(), MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
答案 2 :(得分:0)
在第一项活动(主要活动)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
moveTaskToBack(true);
android.os.Process.killProcess(android.os.Process.myPid());
}
和按钮“退出”添加下一个代码
Intent goIntent = new Intent(getApplicationContext(),
[activity].class);
goIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(goIntent);
答案 3 :(得分:0)
你可以尝试
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);