锁屏界面鼠标不能解锁屏幕
2017-04-10 本文已影响38人
helloKai
出现了锁屏界面上使用鼠标从底部滑动到最上方都不能解锁开屏幕的现象。
猜想了相关对于MotionEvent
是否会有鼠标和手指的事件处理不一样所以导致的结果,当时从MotionEvent
的api来看并没有不同,没有专门对于鼠标事件的处理,都是走的ACTION_DOWN
,ACTION_MOVE
,ACTION_UP
。
然后查看代码锁屏界面的的时间处理流程,NotificationPanelView
是通知界面,它将在锁屏界面上的处理都是在PanelView
来处理的,查看其onTouchEvent
函数,发现里面有对mouse的事件判断
frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
// On expanding, single mouse click expands the panel instead of dragging.
if (isFullyCollapsed() && event.isFromSource(InputDevice.SOURCE_MOUSE)) {
if (event.getAction() == MotionEvent.ACTION_UP) {
expand(true);
}
return true;
}
是由于在这里面会返回true
而导致锁屏界面鼠标很难解锁的。取消此段代码让其可以继续走下面的流程即可。