关闭

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

标签: android后台运行返回键
8011人阅读 评论(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

5
0
查看评论

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

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

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

今天项目有个需求是,开启一个服务单独运行在后台,而且还不能有界面,在度娘搜索了一圈也没发现可以完美解决的方法,然后自己尝试解决的方法,开始的思路是,把界面干掉,也就是activity,然后将开启Service的操作放在Application中,结果运行程序,在控制台报错了。 因为我...
  • a704225995
  • a704225995
  • 2017-02-22 11:35
  • 1605

android实现程序的后台运行

改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁,代码如下: public boolean onKeyDown(int keyCode, KeyEvent event) { PackageManager pm = getPackage...
  • wx_962464
  • wx_962464
  • 2012-04-16 23:38
  • 35211

Android后台执行定时任务

Android 中的定时任务一般有两种实现方式,一种是使用 Java API 里提供的 Timer 类,一种是使用 Android 的 Alarm 机制。 这两种方式在多数情况下都能实现类似的效果, 但 Timer有一个明显的短板,它并不太适用于那些需要长期在后台运行的定时任务。我们都知道,为了能让...
  • u012796139
  • u012796139
  • 2015-11-28 22:52
  • 1822

Android 实现应用程序最小化到后台运行

方法一: 模拟按下home键,返回到home界面 Intent i = new Inent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent....
  • cangchen
  • cangchen
  • 2015-03-19 15:20
  • 2815

android service 后台执行定时任务

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

android 如何判断app 运行在后台

转自http://www.jianshu.com/p/0879b6b6d952 app 开发中,经常可能会涉及到判断app 是否运行在后台。比如需要在后台启动运行Service, 或者需要从后台切换回前台时,做一些update 操作的等等。这些都需要我们能够监测到app 运行到后台。 最开始的时...
  • tiramisu_ljh
  • tiramisu_ljh
  • 2017-04-03 18:05
  • 1031

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

Android开发中,当需要创建在后台运行的程序的时候,就要使用到Service。Service 可以分为有无限生命和有限生命两种。特别需要注意的是Service跟Activities是不同的(简单来说可以理解为后台与前台的区别),例如,如果需要使用Service的话,需要调用startServic...
  • tody_guo
  • tody_guo
  • 2012-03-16 16:03
  • 43412

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

判断当前app是否从后台运行还是在前台运行或者从后台转到前台: 就是让app中所有的activity继承与一个公共的activity(例如:BaseActivity),然后在BaseActivity的onStop()中判断当前程序是否处于后台核心代码public class BaseActivit...
  • IO_Field
  • IO_Field
  • 2016-09-21 16:18
  • 2964

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

1. 把service和activity分开,让service开机启动。设置一个broadcast receiver接受开机信号, 使用RECEIVE_BOOT_COMPLETED的permission, 然后启动service。activity启动后绑定到service上, 通过i...
  • IT_51888_liang
  • IT_51888_liang
  • 2016-03-30 19:09
  • 4758
    个人资料
    • 访问:172558次
    • 积分:2061
    • 等级:
    • 排名:千里之外
    • 原创:39篇
    • 转载:0篇
    • 译文:4篇
    • 评论:55条
    切磋技艺

    欢迎进群交流、切磋技艺


    QQ群:365532949

    博客专栏