有谁知道是否有办法区分 back 键是在屏幕上还是在物理键盘上按下的?我们在 ASUS Transformer Prime 上遇到问题,其中安卓 back 键位于 ESC 应该在物理键盘上的位置,人们希望它像 ESC 一样工作.
最佳答案
原来事件有一个 getSource()
方法。
if (((event.getSource() & InputDevice.SOURCE_KEYBOARD) != 0) && event.getDeviceId() > 0)
或
if (event.getDeviceId() > 0 && event.getSource() == InputDevice.SOURCE_KEYBOARD)
此条件的第一个版本来自 android api。 (event.getSource() & InputDevice.SOURCE_KEYBOARD) != 0)
部分。
这应该可以很好地告诉您事件是否来自物理键盘。
关于Android:区分屏幕返回键和物理键盘返回键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9351860/