• 正在加载中...
  • Home键

    Home键是微软Windows操作系统、苹果iOS操作系统、谷歌安卓操作系统中具有返回功能的键。按一次返回主屏幕,或进入所有应用程序界面; 按home键不动,显示最近打开的应用程序。正在执行某应用程序的时候,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上该应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入。在Android中,当按下Home键,默认情况下stop前台的actiity,即activity设置成onstop,而不是ondestory。

    编辑摘要

    目录

    苹果iOS/Home键 编辑

    iPhone 4s中的home键iPhone 4s中的home键

    按一次home键,返回主界面。双击home键,出现后台运行程序。长

    按home键,在iPhone3GS(第三代)和iPhone4(第四代)中会开启“语音控制”,在iPhone4S(第五代)、iPhone5(第六代)、第三代与第四代iPad中将会开启Siri语音助手。按电源键3秒后,同时按住home键10秒,松开电源键,保持home键15秒,进入DFU模式(越狱用)。连按3下home键的功能可以自定义。

    在苹果的iPhone 5s中,原先的home键已改为Touch ID指纹识别传感器,不过依然可以按下。iPhone 5s在“home键”上加入了全新的指纹识别模块,原本home键内部的方框也随之消失,取而代之的是一个不锈钢指纹检测环。

    Android上的home键/Home键 编辑

    常见用法:

    按一次返回主屏幕,或进入所有应用程序界面; 按home键不动,显示最近打开的应用程序。

    细节:

    正在执行某应用程序的时候,当你按下手机的Home键的时候,系统会默认调用程序栈中最上层Activity的stop()方法,然后整个应用程序都会被隐藏起来,当你再次点击手机桌面上该应用程序图标时,系统会调用最上层Activity的OnResume()方法,此时不会重新打开程序,而是直接进入。会直接显示程序栈中最上层的Activity。可是视为应用程序的“暂停”,”停止“(需要应用程序的支持)。

    home 和 back 键的区别

    在Android中,当按下Home键,默认情况下stop前台的actiity,即activity设置成onstop,而不是ondestory。如果再次启动该activity不是调用onCreate,而是调用onSavedInstanceState方法,保持上次Activity的状态则是从onRestart开始->onStart->onResume;而当按下back键则不同,back键默认finish前台的activity,即activity的状态为onDestory为止,再次启动该activity则从onCreate开始,不会调用onSavedInstanceState方法。

    开发人员相关,捕获home的方法:

    1. 在activity中加上这段代码就可以屏蔽home键(onKeyDown事件会捕捉到home键)。

    -------------------------------------------------

    public void onAttachedToWindow()

    {

    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);

    super.onAttachedToWindow();

    }

    public void onAttachedToWindow()

    {

    this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);

    super.onAttachedToWindow();

    }

    2.因为android系统自己对与home键power键在PhoneWindowManager中做了处理,不会返回到上层应用的。以下为系统源码:

    \frameworks\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManager.java 1089行

    if (code == KeyEvent.KEYCODE_HOME) {

    // If a system window has focus, then it doesn't make sense

    // right now to interact with applications.

    WindowManager.LayoutParams attrs = win != null ? win.getAttrs() : null;

    if (attrs != null) {

    final int type = attrs.type;

    if (type == WindowManager.LayoutParams.TYPE_KEYGUARD

    || type == WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG) {

    // the "app" is keyguard, so give it the key

    return false;

    }

    final int typeCount = WINDOW_TYPES_WHERE_HOME_DOESNT_WORK.length;

    for (int i=0; i

    if (type == WINDOW_TYPES_WHERE_HOME_DOESNT_WORK) { // don't do anything, but also don't pass it to the app return true; } } } \frameworks\policies\base\phone\com\android\internal\policy\impl\PhoneWindowManager.java 1089行 if (code == KeyEvent.KEYCODE_HOME) { // If a system window has focus, then it doesn't make sense // right now to interact with applications. WindowManager.LayoutParams attrs = win != null ? win.getAttrs() : null; if (attrs != null) { final int type = attrs.type; if (type == WindowManager.LayoutParams.TYPE_KEYGUARD || type == WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG) { // the "app" is keyguard, so give it the key return false; } final int typeCount = WINDOW_TYPES_WHERE_HOME_DOESNT_WORK.length; for (int i=0; i

    添加视频 | 添加图册相关影像

    开放分类 我来补充
    键盘

    互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。

    登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。

    互动百科用户登录注册
    此词条还可添加  信息模块

    WIKI热度

    1. 编辑次数:10次 历史版本
    2. 参与编辑人数:8
    3. 最近更新时间:2015-11-20 01:14:23

    相关词条

    互动百科

    扫码下载APP