您的位置:首页 > 其它

Home 和Back键下Activity 生命周期

2016-05-13 11:41 579 查看
1. Home 和Back 键下Activity 生命周期是不一样的

按下Home 键,Activity 实例没有被Destroy. 而 Back 键,Activity 会被Destroy.

具体详细介绍可以参考 http://blog.csdn.net/lixiang0522/article/details/7557558
2. 重写Back 键方法,使Activity 行为与Home 键相同

按下Back 键,Activity 不被Destroy,等App下次进入时, 有更顺畅的UI体验。 可以重写Activity onBackPressed() 方法

有两种方法:

1. 使用MoveTaskToBack(true)

// 2.0 and above
@Override
public void onBackPressed() {
moveTaskToBack(true);
}

// Before 2.0
@Override
public boolean onKeyDown(int keyCode,
KeyEvent event) {
if (keyCode ==
KeyEvent.KEYCODE_BACK) {
moveTaskToBack(true);
return
true;
}
return
super.onKeyDown(keyCode, event);
}
2. 使用Intent

public void
onBackPressed() {
//实现Home键效果
//super.onBackPressed();这句话一定要注掉,不然又去调用默认的back处理方式了
Intent i= new
Intent(Intent.ACTION_MAIN);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.addCategory(Intent.CATEGORY_HOME);
startActivity(i);
}

具体方法可以参考:
http://blog.csdn.net/kitty_landon/article/details/45718329 http://stackoverflow.com/questions/2000102/override-back-button-to-act-like-home-button
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: