很多年前做Android开发,经常遇到页面跳转需要返回到指定页面的需求。现再次总结下:
ActivityA返回到ActivityB,回收掉中间页面
Intent intent = new Intent(ActivityA.this,ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
在除首页外的每一个页面重写onActivityResult方法:
/**
?* 页面退出回调
?* Author:William(徐威)
?* Create Time:2018-07-31
?*
?* @param requestCode
?* @param resultCode
?* @param data
?*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
? ? super.onActivityResult(requestCode, resultCode, data);
? ? if (requestCode == 0 && resultCode == RESULT_OK) {
? ? ? ? setResult(RESULT_OK);
? ? ? ? super.onDestroy();
? ? ? ? this.finish();
? ? }
}
在要返回的页面调用代码:
Intent intent = new Intent(ActivityA.this, ActivityB.class);
setResult(RESULT_OK, intent);
注意:这里的ActivityB是指当前活动的上一层,写好之后,会自动层层返回至首页。
? ??