方法一:
在activity中重写onBackPressed()方法 ,注意此处一定要注释或者删除 super.onBackPressed();方法
@Override public void onBackPressed() { // super.onBackPressed(); Intent home = new Intent(Intent.ACTION_MAIN); home.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); home.addCategory(Intent.CATEGORY_HOME); startActivity(home); }
方法二:
个人更推荐使用这个方法,activity上提供的原始api。使用的时候一样需要注释 super.onBackPressed();
/** * 重新返回键功能,将返回键功能替换成home功能 */ @Override public void onBackPressed() { // super.onBackPressed(); moveTaskToBack(true); }
参数说明:
参数为false——代表只有当前activity是task根,指应用启动的第一个activity时,才有效;
参数为true——则忽略这个限制,任何activity都可以有效。
说明:判断Activity是否是task根,Activity本身给出了相关方法:isTaskRoot()