我希望能够启动和停止来自父级的其他活动,例如,如果我想将自定义对话框显示为活动。
所以,为了开始我使用的活动:
private void showIntentDialog() {
Intent i = new Intent(ActivityA.this, ActivityB.class);
ActivityA.this.startActivity(i);
}
但是如何通过停止活动来处理它?</ p>
private void stopIntentDialog(){
//how to finish it ?
}
p.s我搜索了很多主题,但我找不到适合我的问题。其中大多数都有问题需要关闭B
并返回A
或返回一些值。
p.s.s为了清楚起见,我希望从B
启动活动A
,并在B
之后关闭A
的某些操作后启动活动。
答案 0 :(得分:5)
启动活动:
private void showIntentDialog() {
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
ActivityA.this.startActivity(i);
}
要结束活动,请使用布尔标志发送另一个意图:
private void dismissIntentDialog() {
Intent i = new Intent(ActivityA.this, ActivityB.class);
i.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
i.putExtra("finish",true);
ActivityA.this.startActivity(i);
}
在目标活动中:
@Override
protected void onNewIntent (Intent i){
if( i.getBooleanExtra("finish",false) ){
finish();
}
}