zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    [转]tesseract api C++使用例子
    Flyway记录
    线程安全性和共享
    并发初解
    生产环境中遇到过什么问题?或者有没有自己解决什么问题比较自豪的
    Java白皮书关键词理解【随记】
    技术面试记录
    Mac下完全卸载IntelliJIdea
    docker提交镜像后运行新容器mysql无法启动
    IntelliJ IDEA切换SDK解决卡顿的问题
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8287626.html
Copyright © 2011-2022 走看看