如何确定在较旧的Android sdk中按下了哪个键(< 12)

时间:2012-02-09 08:13:37

标签: android keyevent

我遇到了问题,我编写了一个覆盖onKeyDown的函数,所以要知道按下的按钮我写了这个:

KeyEvent.keyCodeToString(keyCode).replace("KEYCODE_", "");

一切正常但当我试图在旧设备中使用sdk< 12(3.1)它说没有这样的方法。

那么我该如何知道按下的按钮值?

1 个答案:

答案 0 :(得分:0)

嗯,这个方法后来添加了虽然作为帮助你可以使用getDisplayLabel作为基本键,但这只会返回一个表示按下按钮标签的字符。
现在,由于KeyEvents是Ints而不是枚举,因此获取代码名称并不容易,因为它只是变量的名称。您可以尝试使用反射来获取键码的变量名称,但如果您开始记录用户按下的每个按钮,它似乎是一个沉重的机制......