在最新版本的Android中,设备可能具有软件或硬件按钮。我想知道哪些是我的应用程序正在运行的设备的情况。了解设备是否具有软键
一些背景信息:可以隐藏软键,因为它们在屏幕上显示,但如果你这样做,他们会自动显示,如果用户触摸显示器是非常好的。现在,如果您在具有硬键的设备上进行同样操作,第一次触摸仍会被系统捕获,就好像它会再次显示软键一样,但由于没有任何操作,触摸事件不会传递给应用程序。
在最新版本的Android中,设备可能具有软件或硬件按钮。我想知道哪些是我的应用程序正在运行的设备的情况。了解设备是否具有软键
一些背景信息:可以隐藏软键,因为它们在屏幕上显示,但如果你这样做,他们会自动显示,如果用户触摸显示器是非常好的。现在,如果您在具有硬键的设备上进行同样操作,第一次触摸仍会被系统捕获,就好像它会再次显示软键一样,但由于没有任何操作,触摸事件不会传递给应用程序。
您可以使用ViewConfiguration.hasPermanentMenuKey()
来检查菜单键。
对于键盘,问题尝试
getResources().getConfiguration().keyboard
,为您提供下列之一:
支票KEYBOARD_NOK余仁生。
谢谢,这个作品很棒。 (请记住,这只适用于SDK> = 14) – Julian
您是对的,但我认为对于较低的API级别,您可以假设答案。 <= 10应始终有硬件按钮,蜂窝片没有物理按钮。 – Gubbel
这是答案错误。文档中说:“报告设备是否具有用户可用的永久菜单密钥,而不是软键存在与否 – xedo