如何通过在android中使用移动后退按钮来完成Acitivity?
问题描述:
在我的示例应用程序中,我有两个名为FirstActivity
和SecondActivity
的活动。从SecondActivity
我想通过使用移动后退按钮通过意图传递一些数据,在这里我也想完成SecondActivity
,但当我按下我的SecondActivity
后退按钮,它让我回到我的FirstActivity
,但它没有完成SecondActivity
。请帮助我,我该如何完成SecondActivity
。如何通过在android中使用移动后退按钮来完成Acitivity?
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
Intent intent = new Intent(SecondActivity.this,FirstActivity.class);
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("Data1", data1);
intent.putExtra("Data2", data2);
startActivity(intent);
finish();
}
return true;
}
答
在FirstActivity使用startActivityForResult
,并在完成第二个之前,使用setResult
方法。
答
@Override
public void onBackPressed() {
super.onBackPressed();
this.finish();
}
答
也许这个作品:
// Back Button Press
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
Intent intent = new Intent(SecondActivity.this,FirstActivity.class);
//intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("Data1", data1);
intent.putExtra("Data2", data2);
startActivity(intent);
SecondActivity.this.finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
我认为这是finishActivity();并没有完成(); – Rudy
SecondActivity.this.finish(); – duggu
其“完成()”只。所以OP就在这里。 –