Android 原生hardkey长按事件实现。
原生hardkey按下抬起没有长按事件,需要自己去记录。
纯干料直接copy使用
实现
IKeyCallback iKeyCallback = new IKeyCallback() {
@Override
public boolean onKeyPressed(int keyCode) {
LogUtils.logD(TAG, "onKeyPressed keyCode=" + keyCode);
if (keyCode == InputService.KEYCODE_R_VOICE_ASSIST) {
按下记录时间
touchStartTime = System.currentTimeMillis();
}
return false;
}
@Override
public boolean onKeyReleased(int keyCode) {
LogUtils.logD(TAG, "onKeyReleased keyCode=" + keyCode);
if (keyCode == InputService.KEYCODE_R_VOICE_ASSIST) {
// 长按时间处理逻辑
long touchEndTime = System.currentTimeMillis();
long touchDuration = touchEndTime - touchStartTime;
if (touchDuration > 1000) {
// 此处处理长按事件
}
}
}
return false;
}
};
总结完毕 如有错误请大佬多指教!