我有一个发送通知的服务。
单击通知时,将打开一个活动。
我想点击按钮时关闭此活动。
我使用finish();
但它关闭了Activity并打开了应用程序的主要活动。
我不确定如何关闭它,它会回到最后一个"屏幕/应用程序"
答案 0 :(得分:0)
只需路由到您要在要调用finish()的按钮的onClickListener内打开的页面
像这样的东西
Button buttonX = (Button)findViewById(R.id.buttonXName);
buttonX.setOnClickListener(new OnClickListener() {
public void onClick(View v)
{
// DesiredActivity is the activity you want to open on click
Intent intent = new Intent(CurrentActivity.this, DesiredActivity.class);
startActivity(intent);
finish();
}
});
答案 1 :(得分:0)
你不需要直接完成;你需要onBackPressed()
,因为你无处可来这个活动(电话的主屏幕/另一个应用程序)。
因此,当您致电onBackPressed()
时,它会关闭应用:
@Override
public void onBackPressed() {
super.onBackPressed();
//supportFinishAfterTransition(); finish activity after going back
//if want overridePendingTransition(R.anim.nothing, R.anim.slide_out_right);
}
此外,如果您想完成活动,可以在supportFinishAfterTransition()
行之后添加super.onBackPressed()
。
添加后,请在onBackPressed()
方法中调用此方法:onClick
,这样您也可以添加自定义转换。