zoukankan      html  css  js  c++  java
  • 四十、Android home键和back键区别

    back键
    Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁当前Activity,当此Activity又被其它Activity启动起来的时候,会重新调用OnCreate()方法进行创建,当栈中所有Activity都弹出结束后,应用也就随之结束了.如果说程序中存在service之类的,则可以在恰当的位置监听处理下也就可以了.

                 
    home键
    Android程序的隐藏,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入,会直接显示程序栈中最上层的Activity.

           

            

    实现按Home键时隐藏程序的效果:
    1:Android 2.0之前需要监听按键事件,进行判断是不是按下了back键
    2:Android 2.0之后系统提供了一个onBackPressed()方法,这个方法就是专门用来监听back键事件的,所以只需重写onBackPressed()方法即可

    @Override
    public void onBackPressed() { 
        //实现Home键效果 
        //super.onBackPressed();这句话一定要注掉,不然又去调用默认的back处理方式了 
        Intent i= new Intent(Intent.ACTION_MAIN); 
        i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        i.addCategory(Intent.CATEGORY_HOME); 
        startActivity(i);  
    }
    

              

    退出应用程序的实现:可以自己写个方法,例如:

    public void exitProgrames(){ 
        Intent startMain = new Intent(Intent.ACTION_MAIN); 
        startMain.addCategory(Intent.CATEGORY_HOME); 
        startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
        startActivity(startMain); 
        android.os.Process.killProcess(android.os.Process.myPid()); 
    }
    
    注意:需要添加权限:<uses-permission android:name="android.permission.RESTART_PACKAGES" />
  • 相关阅读:
    UEFI启动 安装win8 win10 及windows server 2012 最简单的方法
    Android SDK中国在线更新镜像服务器 解决GOOGLE更新无法下载 更新失败的问题
    DELPHI 单元文件结构
    获取程序自身大小的2个函数
    实时获取网络时间 并转换为北京时间的函数
    部署maven的一些要点、遇到的问题
    cron表达式详解
    redhat安装xwindow环境
    tomcat执行文件权限
    一个方便的java分页算法
  • 原文地址:https://www.cnblogs.com/linjiqin/p/2287968.html
Copyright © 2011-2022 走看看