我们日常使用的很多 Android 应用(如 QQ、微信、微博),在应用的主界面按下返回键,应用并没有退出,而是进入后台运行。
那么,开发中是如何实现的呢?我找到了两种方法:
1、在 Activity 中重写 onBackPressed() 方法。
- @Override
- public void onBackPressed() {//此处写退向后台的处理}
- 1
- 2
- 3
- 4
- 1
- 2
- 3
- 4
2、重写 onKeyDown() 方法(有的应用提示再次点击返回键退出应用就是在这里做的文章)。
- @Override
- public boolean onKeyDown(intkeyCode, KeyEvent event) {if(keyCode == KeyEvent.KEYCODE_BACK) {//如果返回键按下
- //此处写退向后台的处理
- return true;
- }return super.onKeyDown(keyCode, event);
- }
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
1、只需一句话搞定,调用 moveTaskToBack() 方法,这个方法需要设置一个 boolean 参数,ture 在任何 Activity 中按下返回键都退出并进入后台运行, false 只有在根 Activity 中按下返回键才会退向后台运行。
- moveTaskToBack(false);
- 11
2、使用 Intent,返回手机主界面。
- Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.addCategory(Intent.CATEGORY_HOME);
- startActivity(intent);
- 12341234
- @Override
- public void onBackPressed() {//方式一:将此任务转向后台moveTaskToBack(false);//方式二:返回手机的主屏幕
- /*Intent intent = new Intent(Intent.ACTION_MAIN);
- intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
- intent.addCategory(Intent.CATEGORY_HOME);
- startActivity(intent);*/}
来源: http://blog.csdn.net/u010292581/article/details/70755461