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

活动A是一个具有按钮开始B活动的ListViewActivity

在完成表单后的B活动中有一个按钮开始C活动。

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

如果用户按照此过程遵循此过程,当他从B的活动返回时返回后按钮(因为当我启动时,我设置了FLAG_ACTIVITY_NO_HISTORY)和第二次按下返回再一次,这重复了等于创建记录的数量的时间次数。

关闭带有后按钮的应用成为一个漫长的过程。

我希望从一个活动中始终关闭应用程序的onBackPressed

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

有帮助吗?

解决方案

始终启动您的活动,如下

    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();
.

其他提示

方法完成()将执行此操作。 这样的东西

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

        finish();
.

You must override the OnBackPressed method

@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
 }

Hope it helps.

try this

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top