Android应用开发按下返回键退向后台运行,很简单实现,先理论后源码

来源:互联网 发布:淘宝信用最高的店铺 编辑:程序博客网 时间:2024/06/16 00:54

先理论,后源码~~~~


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

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

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


一、监测返回键

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

@Overridepublic void onBackPressed() {    //此处写退向后台的处理}
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

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

@Overridepublic boolean onKeyDown(int keyCode, 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);  
  • 1
  • 1

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

Intent intent = new Intent(Intent.ACTION_MAIN);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);intent.addCategory(Intent.CATEGORY_HOME);startActivity(intent); 
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

详细点的:

Overridepublic 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);*/} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

    最后来个实现的源码,直接复制粘贴就能用

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





    阅读全文
    0 0
    原创粉丝点击