Android:区分屏幕返回键和物理键盘返回键

标签 android keyboard android-softkeyboard

有谁知道是否有办法区分 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/

相关文章:

android - 使用 c++static 的 NDK 编译错误

c++ - 有没有办法在标准 C++ 中直接从键盘读取输入?

c# - 单击外部 Edittext 后如何在 Xamarin Android 中隐藏键盘

jquery - 将焦点更改为大型菜单

ios - 以编程方式禁用键盘声音

c# - 禁用默认 Android 键盘上的按键

android - 如何附加软键盘事件

android - 为多个选项卡返回相同的 fragment

android - 自动更新 Android 应用程序

安卓 ScrollView : Automatically scroll to a few pixels (dips) above a certain view