项目中常常会遇到一些没有很大作用,但又不得不实现的功能,例如下面这个需求
项目需求:来电连续按两次POWER键可以挂机
按键处理PhoneWindowManager.java中已有正在通话中单次power按键挂断功能。
PhoneWindowManager方法中interceptPowerKeyDown(KeyEvent event, boolean interactive)是对power按键的处理,增加如下代码:
boolean flag = false;
if ((event.getEventTime() - lastClickTime) < MIN_CLICK_DELAY_TIME) {
//final int MIN_CLICK_DELAY_TIME = 500;两次按键间隔时间小于500ms返回true
//long lastClickTime = 0;
flag = true;
}
lastClickTime = event.getEventTime();
Log.i("qinling","event.getEventTime= " + event.getEventTime() + "lastClickTime= " + lastClickTime);
if (telecomManager.isRinging()) {
if(flag){
hungUp = telecomManager.endCall();
}
}
双击按键处理可同次代码处理。