0

我在一个应用程序中有 3 个活动。

  1. 主要活动
  2. 列表活动
  3. 儿童活动

我正在使用以下代码从一个活动重定向到另一个活动

Intent intent = new Intent(MainActivity.this, ListActivity.class);
startActivity(intent);
finish();

当用户按下“返回”按钮时,应用程序必须退出。

但是我想拒绝子活动的退出,即当我们在 ChildActivity 中按下时,应用程序需要返回到 ListActivity。

所以我这样编码

Intent intent = new Intent(ListActivity.this, ChildActivity.class);
startActivity(intent);

工作正常。但在这种情况下

  1. 我们在ChildActivity
  2. 按返回
  3. 抵达ListActivity
  4. 按返回
  5. 应用程序退出

重新启动时,它将直接加载ListActivity直接。

但我的要求是每次应用程序启动时,都需要 goto MainActivity,即启动活动。

有什么想法吗?

提前致谢

4

4 回答 4

1

使用这个FLAG_ACTIVITY_NO_HISTORY

Intent intent = new Intent(MainActivity.this, ListActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();

您是否在代码或 Menifest.xml 文件中使用任何其他标志?

于 2013-08-14T05:54:42.587 回答
1

在您的列表活动中覆盖乘车OnBackPressed()功能并删除/评论

super.OnBackPressed();

这将确保您的应用不会从您的 ListActivity 中退出。

于 2013-08-14T05:54:55.290 回答
0

在您的清单 MainActivity 中

android:clearTaskOnLaunch="true"
于 2013-08-14T05:56:44.380 回答
0

希望这对你有用

在 XML 文件上执行此操作

<ImageView
            android:id="@+id/back_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="5dp"
            android:onClick="goBack"
            android:src="@drawable/back_btn" />

而在活动类

public void goBack(View v) {
            finish();
     }

或者你也可以试试 Dis

Intent inte = new Intent(YourMainActivity, NewActivity);
inte.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(inte);
finish();
于 2013-08-14T05:57:06.240 回答