我已经申请了
activity A
后(活动A有noHistory= true
,所以它不会留在堆栈上)。 PinActivity
也会启动活动NewPinActivity
。NewPinActivity
拨打finish()
并返回PinActivity
。您将在哪里提供适当的引脚,它会在其上调用finish()
,它会再次移至activity A
(因为activity A
已noHistory=true
,所以我必须启动一个新实例activity A
)。
我的问题是,如果我从back
按activity A
,即使我在其上调用NewPinActivity
,我的finish()
有时会再次显示。答案 0 :(得分:1)
不,您应该在第二项活动中使用:
Intent exitIntent = new Intent(this,MainActivity.class);
exitIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP|Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(exitIntent);
MainActivity.exitHandler.sendEmptyMessage(0);
并在MainActivity中:
exitHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
// clear any informations you like here
MainActivity.this.finish();
break;
}
}
};
答案 1 :(得分:0)
听起来你应该使用NewPinActivity
开始startActivityForResult
。成功的结果PinActivity
应该ActivityA
和Intent.FLAG_NEW_INTENT
本身启动finish();
?奇怪的是你为什么要开始ActivityA
noHistory?