我有3个窗口(活动)。 window1带有旧图片的按钮,window2选项可更改window1的旧图片,window3预览图片。
当在window3中进行选择时,我想略过window2 + window3,然后跳回到window1。我们该怎么做?
窗口1:
Intent MyRotationsAddPicture2 = new Intent(getBaseContext(), MyRotationsAddPicture.class);
MyRotationsAddPicture2.putExtra("Title", "r2.jpg");
startActivityForResult(MyRotationsAddPicture2,0);
Window2 / Window3?
String whichImage = getIntent().getExtras().getString("Title");
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == 0) {
finish();
startActivity(getIntent());
}
}
setResult(0);
this.finish();
System.exit(0);
最佳答案
从外观上看,您不想在这里使用startActivityForResult()
...只需使用startActivity()
。
在Activity3
中使用
Intent intent = new Intent(Activity3.this, Activity1.class);
intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
如果您不想从堆栈中删除
Activity2
,请使用此选项。如果您确实要从堆栈中删除
Activity2
,只需使用标志intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT|Intent.FLAG_ACTIVITY_CLEAR_TOP);
或在移至
finish()
时在Activity2
中调用Activity3
您可以找到所有
Intent Flags
Here in the Docs