android返回首页有2种模式。一种是层层返回,一种是直接返回首页同时强转关闭当前页和首页外的其他页面资源。
1.层层返回:
在除首页外的每一个页面重写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(ProductCartActivity.this, parentActivity.class); setResult(RESULT_OK, intent);
注意:这里的parentActivity是指当前活动的上一层,写好之后,会自动层层返回至首页。
2.直接返回首页同时强转关闭当前页和首页外的其他页面资源:
这种做法就是把当前栈内的所有activity全部清除,然后再新建一个MainActivity,代码如下:
Intent intent = new Intent(WaittingSaoMaActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent);