Mr.Alright---安卓Q实体按键的震动怎样添加

之前提到了,去除虚拟按键,因为手机自带实体按键,Mr.Alright---MTK平台Android Q去除虚拟按键并修改实体菜单键为换起最近任务,后面有个新的问题,设置中的触摸反馈对于实体按键来说不起作用,还是得在\alps\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java 中找答案

 if (useHapticFeedback) {
            performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, false,
                    "Virtual Key - Press");
        }

一番调试发现,虚拟按键的震动是这个逻辑,那么,我们只要模仿他写一个不就可以了

if (down && event.getRepeatCount() == 0
                && mNavBarVirtualKeyHapticFeedbackEnabled
                && ViewConfiguration.get(mContext).hasPermanentMenuKey()
                && (event.getKeyCode() == KeyEvent.KEYCODE_BACK
                || event.getKeyCode() == KeyEvent.KEYCODE_MENU
                || event.getKeyCode() == KeyEvent.KEYCODE_HOME)) {
            performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY, false,
                    "Permanent Key - Press");
        }

紧挨着第一段代码添加第二段代码就OK了,其中,

mNavBarVirtualKeyHapticFeedbackEnabled 指的是设置的开关状态
ViewConfiguration.get(mContext).hasPermanentMenuKey() 是判断当前是不是有实体按键

剩下的就是是否是点击一次,点击的是否是返回,home,菜单按键的判断了,加上去就完事了

你可能感兴趣的:(系统修改,实体按键,震动)