Android NativeActivity是android面向native C 的一个Activity封装类,很多逻辑都是在so 中是实现的,所以有时候按键事件时获取不了的。本文就讨论一下,解决这个问题的方案。
我这里拿出来的方案是开启一个service ,在windowsManager 中加一个layout 。在layout中截取按键事件。
直接上代码:
WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
LinearLayout layout = new LinearLayout(this) {
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
}
@Override
public boolean dispatchGenericMotionEvent(final MotionEvent event) {
}
}
wm.addView(layout,param);
有新的解决思路,也感谢朋友来一起讨论一下。或加我扣扣~~