话不多说代码如下

@Override      public boolean onKeyDown(int keyCode, KeyEvent event) {          if (keyCode == KeyEvent.KEYCODE_BACK) {              moveTaskToBack(false);              return true;          }          return super.onKeyDown(keyCode, event);      }  

里面的moveTaskToBack()是关键。

moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。
参数说明:
参数为false——代表只有当前activity是task根,指应用启动的第一个activity时,才有效;
参数为true——则忽略这个限制,任何activity都可以有效。
说明:判断Activity是否是task根,Activity本身给出了相关方法:isTaskRoot()

解释下moveTaskToBack调用后,task中activity的顺序不会发生变化,例如A启动B,B中调用此方法退到后台,重新启动应用会调用B中的onRestart-onStart-onResume方法,不会重新调用onCreate,而且在B中按下back键返回的还是A,这就是退到后台的功能。

其实就是和home的效果差不多了

更多相关文章

  1. Android百度地图一种简单实现多标注及响应时间的方法
  2. Xposed: 勾住(Hook) Android应用程序对象的方法,实现AOP
  3. (Android) Eclipse "launching delegate" 停在 27%的解决方法
  4. android AsyncTask 使用方法
  5. android 程序漰溃 后台handle处理类
  6. Android 判断程序前后台状态
  7. android的Timer方法
  8. android 返回桌面的方法
  9. Android内存缓存图片的标准方法

随机推荐

  1. android 基于BroadcastReceiver广播 完全
  2. android之意图
  3. Android Butterknife框架
  4. smack 源码分析- PacketReader (android
  5. Android wifi详解
  6. Android集成微信SDK:微信分享
  7. Android Suspend
  8. 单点登录(三)| JIRA 安装及 JIRA 集成 CAS
  9. android 联系人数据库
  10. Android学习笔记----HttpURLConnection