Android禁用活动的退出应用程序

时间:2013-08-14 05:48:45

标签: android android-layout android-intent android-activity

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

  1. MainActivity
  2. ListActivity
  3. ChildAvtivity
  4. 我使用以下代码将活动重定向到另一个

    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. 按BACK
    3. 到达ListActivity
    4. 按BACK
    5. 申请退出
    6. 重新启动时,它会直接直接加载ListActivity

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

      有什么想法吗?

      提前致谢

4 个答案:

答案 0 :(得分: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文件中使用任何其他Flags?

答案 1 :(得分:1)

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

super.OnBackPressed();

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

答案 2 :(得分:0)

在您的清单MainActivity put

android:clearTaskOnLaunch="true"

答案 3 :(得分: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();