Android应用开发按下返回键退向后台运行

标签: android 后台运行 返回键
8640人阅读 评论(3) 收藏 举报
分类:

转载请注明来源:http://blog.csdn.net/kjunchen/article/details/50429694

Android应用开发按下返回键退向后台运行

我们日常使用的很多Android应用(如QQ、微信、微博),在应用的主界面按下返回键,应用并没有退出,而是进入后台运行。

那么,开发中是如何实现的呢?我找到了两种方法:


一、监测返回键

1、在Activity中重写onBackPressed()方法。

@Override
public void onBackPressed() {
    //此处写退向后台的处理
}

2、重写onKeyDown()方法(有的应用提示再次点击返回键退出应用就是在这里做的文章)。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {//如果返回键按下
        //此处写退向后台的处理
        return true;
    }
    return super.onKeyDown(keyCode, event);
}

二、退向后台运行

1、只需一句话搞定,调用moveTaskToBack()方法,这个方法需要设置一个boolean参数,ture 在任何Activity中按下返回键都退出并进入后台运行, false 只有在根Activity中按下返回键才会退向后台运行。

moveTaskToBack(false);  

2、使用Intent,返回手机主界面。

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent); 

最后来个详细点儿的

@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);*/
} 

欢迎加QQ群交流:365532949

查看评论

如何让安卓APP一直在后台运行?

本文摘自微信公众号“android高心星的私塾”     一  声明         1 网上很多的保活手段,但是不靠谱的居多         2 本文只是进行保活知识的推广,不是在教你...
  • xiaoBaiFeiJi
  • xiaoBaiFeiJi
  • 2016-04-23 10:30:23
  • 20565

Android 创建单独的服务运行在后台(无界面)

今天项目有个需求是,开启一个服务单独运行在后台,而且还不能有界面,在度娘搜索了一圈也没发现可以完美解决的方法,然后自己尝试解决的方法,开始的思路是,把界面干掉,也就是activity,然后将开启Ser...
  • a704225995
  • a704225995
  • 2017-02-22 11:35:18
  • 3001

Android监听程序进入后台,或者恢复到前台

判断当前app是否从后台运行还是在前台运行或者从后台转到前台: 就是让app中所有的activity继承与一个公共的activity(例如:BaseActivity),然后在BaseActivity...
  • IO_Field
  • IO_Field
  • 2016-09-21 16:18:56
  • 3144

让一个Android应用一直运行在后台,不容易被杀死

使用startForeground();*在serVice的onCreat()方法中调用startForeground()方法Notification notification = new Notif...
  • MyselfGang
  • MyselfGang
  • 2016-12-27 15:46:43
  • 1996

android service 后台执行定时任务

关于service 大家应都知道是android 四大组件之一,用来执行后台任务的。 如果还不太了解service 可以看看郭大神写的Android Service完全解析,关于服务你所需知道的一切,...
  • csd_xiaojin
  • csd_xiaojin
  • 2016-03-06 18:07:50
  • 19618

如何让android的service一直在后台运行

1. 把service和activity分开,让service开机启动。设置一个broadcast receiver接受开机信号, 使用RECEIVE_BOOT_COMPLETED的permi...
  • IT_51888_liang
  • IT_51888_liang
  • 2016-03-30 19:09:52
  • 5472

android 后台服务运行,保持不被干掉

  • 2015年04月29日 15:57
  • 2.2MB
  • 下载

Android后台执行定时任务

Android 中的定时任务一般有两种实现方式,一种是使用 Java API 里提供的 Timer 类,一种是使用 Android 的 Alarm 机制。 这两种方式在多数情况下都能实现类似的效果, ...
  • u012796139
  • u012796139
  • 2015-11-28 22:52:12
  • 1936

Android 启动后台运行程序(Service)

Android开发中,当需要创建在后台运行的程序的时候,就要使用到Service。Service 可以分为有无限生命和有限生命两种。特别需要注意的是Service跟Activities是不同的(简单来...
  • tody_guo
  • tody_guo
  • 2012-03-16 16:03:42
  • 43710

android实现程序的后台运行

改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁,代码如下: public boolean onKeyDown(int keyCode, KeyEvent...
  • wx_962464
  • wx_962464
  • 2012-04-16 23:38:39
  • 35575
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 18万+
    积分: 2177
    排名: 2万+
    博客专栏