1

这是我的应用程序的结构:

Activity A 是一个ListViewActivity带有按钮来启动 B 的活动。

在完成表单后的 B 活动中,有一个用于启动 C 活动的按钮。

C 活动保存设置并创建新记录以显示在 A 活动中。保存在 C 活动中的按钮启动 A 活动。

如果用户在从 A 活动按返回按钮时多次执行此过程,则返回 B(没有通过 C,因为当我启动它时我设置FLAG_ACTIVITY_NO_HISTORY了),并且第二次按返回按钮再次返回 A,并且这重复的次数等于创建的记录数。

使用返回按钮关闭应用程序成为一个漫长的过程。

我希望onBackPressed来自 A 活动的始终关闭应用程序。

英语不是我的语言,我希望我很清楚。

4

4 回答 4

2

总是像下面这样开始你的活动A

    Intent intent = new Intent(current_activity_context, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();
于 2014-02-25T11:21:39.140 回答
0

方法完成()将做到这一点。像这样的东西

Intent intent = new Intent(getApplicationContext(),
                Activity B.class);
        Activity A.this.startActivity(intent);

        finish();
于 2014-02-25T11:22:49.643 回答
0

尝试这个

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
于 2014-02-25T11:25:22.340 回答
0

您必须重写 OnBackPressed 方法

@Override
public void OnBackPressed(){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    super.onBackPressed();//Optional
 }

希望能帮助到你。

于 2014-02-25T11:28:29.923 回答