温馨提示×

Android启动模式FLAG_ACTIVITY_CLEAR_TOP

小云
201
2023-09-28 07:49:00
栏目: 编程语言

FLAG_ACTIVITY_CLEAR_TOP是一个启动模式标志,用于在启动一个Activity时清除该Activity之上的所有Activity实例。当设置了FLAG_ACTIVITY_CLEAR_TOP标志时,如果要启动的Activity已经在任务栈中存在,那么该Activity之上的所有Activity实例都会被销毁,然后将该Activity实例置于栈顶,以便用户返回到该Activity时不会再创建新的实例。

使用FLAG_ACTIVITY_CLEAR_TOP标志的场景包括以下几种情况:

  1. 用户点击通知栏中的通知,打开对应的Activity,并且希望按返回键时回到主界面而不是通知栏中的Activity。

  2. 用户从侧边栏或菜单中选择一个功能项,打开对应的Activity,并且希望按返回键时回到主界面而不是菜单或侧边栏Activity。

  3. 用户从主界面的某个功能点击进入一个新的Activity,并且希望按返回键时回到主界面而不是之前的功能界面。

使用FLAG_ACTIVITY_CLEAR_TOP标志的示例代码如下:

Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

需要注意的是,FLAG_ACTIVITY_CLEAR_TOP标志只在启动一个新的Activity时才有效果,如果直接调用finish()方法来销毁当前Activity,不会触发FLAG_ACTIVITY_CLEAR_TOP标志的效果。

0