2012-06-03 40 views
2

在最新版本的Android中,设备可能具有软件或硬件按钮。我想知道哪些是我的应用程序正在运行的设备的情况。了解设备是否具有软键

一些背景信息:可以隐藏软键,因为它们在屏幕上显示,但如果你这样做,他们会自动显示,如果用户触摸显示器是非常好的。现在,如果您在具有硬键的设备上进行同样操作,第一次触摸仍会被系统捕获,就好像它会再次显示软键一样,但由于没有任何操作,触摸事件不会传递给应用程序。

回答

3

您可以使用ViewConfiguration.hasPermanentMenuKey()来检查菜单键。

+0

谢谢,这个作品很棒。 (请记住,这只适用于SDK> = 14) – Julian

+0

您是对的,但我认为对于较低的API级别,您可以假设答案。 <= 10应始终有硬件按钮,蜂窝片没有物理按钮。 – Gubbel

+1

这是答案错误。文档中说:“报告设备是否具有用户可用的永久菜单密钥,而不是软键存在与否 – xedo

0

对于键盘,问题尝试

getResources().getConfiguration().keyboard 

,为您提供下列之一:

  • KEYBOARD_NOKEYS
  • KEYBOARD_QWERTY
  • KEYBOARD_12KEY

支票KEYBOARD_NOK余仁生。

+0

*来源:http://developer.android.com/reference/android/content/res/Configuration.html#keyboard – libjup

+0

那么这是键盘,但我需要这样的系统按钮,如后面和家里,你可以请参阅以下屏幕截图上的红色框:http://i.imgur.com/7QiKu.png – Julian

+0

对不起...必须误解您的问题。我只是检查了文件,但我不确定Android API是否提供了这样的功能。 – libjup

相关问题