在最新版本的 Android 中,设备可能具有软件或硬件按钮。我想知道运行我的应用程序的设备是哪种情况。
一些背景信息:可以在屏幕上显示软键时隐藏它们,但如果您这样做,如果用户触摸显示屏,它们会自动显示出来,这很好。现在,如果您在具有硬件键的设备上执行相同操作,则第一次触摸仍会被系统捕获,就像它会再次显示软键一样,但由于没有,因此什么也不会发生,并且触摸事件不会传递给应用程序。
在最新版本的 Android 中,设备可能具有软件或硬件按钮。我想知道运行我的应用程序的设备是哪种情况。
一些背景信息:可以在屏幕上显示软键时隐藏它们,但如果您这样做,如果用户触摸显示屏,它们会自动显示出来,这很好。现在,如果您在具有硬件键的设备上执行相同操作,则第一次触摸仍会被系统捕获,就像它会再次显示软键一样,但由于没有,因此什么也不会发生,并且触摸事件不会传递给应用程序。
您可以使用ViewConfiguration.hasPermanentMenuKey()
, 检查菜单键。
对于键盘问题尝试
getResources().getConfiguration().keyboard
这为您提供以下之一:
检查 KEYBOARD_NOKEYS。