长按Home键唤起Google Search

android默认处理长按Home键会唤起最近使用应用列表,而部分厂商在安装了GMS后,Google会要求
修改长按Home键唤起Google Search

一,具有实体按键的厂商可以更改配置文件

Frameworks/base/core/res/res/values/Config.xml

<integer name="config_longPressOnHomeBehavior">2</integer>

改为0即可,这里的值可以设置三个,1代表唤起recent app界面;2代表唤起搜索界面(Google Search);0代表Nothing;

具体实现是在PhoneWindowManager中handleLongPressOnHome处理Home键长按事件

    private void handleLongPressOnHome(int deviceId) {if (mLongPressOnHomeBehavior == LONG_PRESS_HOME_NOTHING) {return;}mHomeConsumed = true;performHapticFeedbackLw(null, HapticFeedbackConstants.LONG_PRESS, false);switch (mLongPressOnHomeBehavior) {case LONG_PRESS_HOME_ALL_APPS:launchAllAppsAction();break;case LONG_PRESS_HOME_ASSIST:launchAssistAction(null, deviceId);break;default:Log.w(TAG, "Undefined home long press behavior: " + mLongPressOnHomeBehavior);break;}
}

二,虚拟按键的厂商需要修改SystemUi的导航栏设置

/SystemUI/ src/com/android/systemui/statusbar/phone/NavigationBarFragment.java

在此类中分别对home键的短按和长按都做了监听

    ButtonDispatcher homeButton = mNavigationBarView.getHomeButton();homeButton.setOnTouchListener(this::onHomeTouch);homeButton.setOnLongClickListener(this::onHomeLongClick);

我们只需要对onHomeLongClick做适当处理即可,比方说,切换到儿童模式长按home不会跳出google search

@VisibleForTesting
boolean onHomeLongClick(View v) {Log.i(TAG, "onHomeLongClick");if (!mNavigationBarView.isRecentsButtonVisible()&& ActivityManagerWrapper.getInstance().isScreenPinningActive()) {return onLongPressBackHome(v);}if (shouldDisableNavbarGestures()) {return false;}mNavigationBarView.onNavigationButtonLongPress(v);mMetricsLogger.action(MetricsEvent.ACTION_ASSIST_LONG_PRESS);//add  startif(!isKidMode(getContext())){mAssistManager.startAssist(new Bundle() /* args */);//此处为唤醒google search的地方}//add  end

长按Home键唤起Google Search相关推荐

  1. MTK修改长按Home键的操作

    需求:长按Home键启动google搜索界面(菜单键为原Home键操作效果) frameworks\base\core\res\res\values\config.xml <!-- Contro ...

  2. 笔记本电脑按开机键没反应怎么办?(先记得长按开机键,大约10秒钟看看可以吗)

    如果没有外置电池,长按开机键,大约10秒左右即可 1.很多新电脑第一次开机时需要连接电源,插上电源适配器后,再按下开机键 2.如果你的电脑为外置电池,拔下电池过一段时间安装回去,再进行开机 3.如果没 ...

  3. 笔记本电脑如何强制关机_长按电源键强制关机会损害笔记本硬件吗?联想:不会但不建议...

    如今电脑性能和稳定性已经有了明显进步,尤其是内存的翻倍.SSD硬盘的加入,已经摆脱了动不动卡死.蓝屏的状况. 正因为此,"长按电源键强制关机"的操作已经越来越少,不过以Window ...

  4. Android 关于长按back键退出应用程序的实现

    Android 关于长按back键退出应用程序的实现 最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序.在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理 ...

  5. ios点击有300毫秒延迟,输入框必须重压或长按才能获取焦点唤起软键盘

    以下方法主要针对在vue中的使用 // ios点击有300毫秒延迟 1. 安装依赖包cnpm install fastclick --save 2. 在 /src/main.js 中引入并使用impo ...

  6. google search console的使用

    可以直接访问网址,也可以去搜索你自己的网址,谷歌会给出你提示 2.点进去,登陆,完成网址所有权的验证,你就可以使用google search console了.

  7. 定时关机win10_长按电源键强制关机,真的会弄坏电脑吗?

    " 开始菜单 -- 电源 -- 关机 ". 不知道差友们是否和托尼一样,尽管用了好几年的电脑,期间无论换过多少台,每当想要给电脑关机的时候,这几个步骤一直固定没变. 但 Windo ...

  8. Android 5.1长按电源键添加重启功能

    原址:http://blog.csdn.net/zhoumushui 现在长按Power键只有一个关机键,需要添加一个重启,以下是我的添加步骤: 1.在frameworks/base/core/res ...

  9. android长按home键流程

    home键在KeyEvent中的键值为3. public static final int KEYCODE_HOME            = 3; 当用户按下home键的时候(包括长按),程序会进入 ...

最新文章

  1. opensuse13.2 安裝五笔
  2. android蓝牙4.0BLE
  3. 为服务器端控件添加js.net
  4. java通过Access_JDBC30读取access数据库时无法获取最新插入的记录
  5. Groovy里的日期处理
  6. 【吃炸弹的鸽子UVA10765-双联通模板】
  7. Spring :基于@Transactional注解的声明式事物
  8. mysql主从复制原理的理解,MySQL主从复制以及原理好理解)
  9. android批量文件上传(android批量图片上传)
  10. 对于机器学习而言如何翻越测试集
  11. #SORA#celery研究中的一个小问题
  12. 2018美赛 A 题
  13. sose会议级别_【2017年整理】计算机领域EI和SCI收录期刊、影响因子及国际会议.doc...
  14. 现代操作系统(原书第四版)课后题答案 —— 第二章 进程与线程
  15. 计算机设备管理没有打印机,win7电脑的设备和打印机选项无法打开怎么办?
  16. [Spark版本更新]--Spark-2.4.0 发布说明
  17. 检测图书ISBN编号校检位
  18. Unity 中用 Vertex Fragment Shader 实现 surface shader 中的 Diffuse 和 Decal
  19. JAVA程序把大写转换小写_Java程序将字符串转换为小写和大写。
  20. WIN10本地搭建APACHE+PHP运行环境

热门文章

  1. 对人工智能的一些思考和给初学者的建议
  2. 日本语能力测试官方试题集
  3. 夺命雷公狗---Smarty NO:04 设计篇2 变量调节器
  4. 卡牌游戏战斗系统的设计和实现三
  5. OTRS中国版 快速安装
  6. [乐意黎原创]Centos主机里为Apache添加页面压缩mod_deflate模块开启gzip压缩
  7. SQL SERVER 2016 AlwaysOn搭建实例
  8. python import自定义工具包
  9. AE/PR脚本模板-110个可爱卡通手绘涂鸦图形动画预设
  10. php讲师主要做什么,PHP高级讲师岗位职责