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

Posted zhchoutai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android应用开发按下返回键退向后台执行相关的知识,希望对你有一定的参考价值。

转载请注明来源: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

以上是关于Android应用开发按下返回键退向后台执行的主要内容,如果未能解决你的问题,请参考以下文章

Android 11 singleInstance退到桌面从桌面点击应用图标又从主页面重新启动的问题

android 性能测试adb命令

当用户按下主页按钮时停止 Android 服务

从通知托盘按下推送通知时,Android GCM 应用程序崩溃

时间片轮询-应用程序架构

如何在 Android 上后台运行 Qt 应用程序?