我目前正在解决这个问题。我需要检查应用程序安装的设备是否有硬件菜单键。因为在某些设备上(如Galaxy Nexus)不存在此键,所以在这种情况下,我会直接在用户界面中显示它。
我已经查看了PackageManager.hasSystemFeature(),但没有找到任何有用的信息。
有人已经做过这个吗?
我目前正在解决这个问题。我需要检查应用程序安装的设备是否有硬件菜单键。因为在某些设备上(如Galaxy Nexus)不存在此键,所以在这种情况下,我会直接在用户界面中显示它。
我已经查看了PackageManager.hasSystemFeature(),但没有找到任何有用的信息。
有人已经做过这个吗?
ViewConfiguration.get(context).hasPermanentMenuKey()
详见ViewConfiguration#hasPermanentMenuKey()
。需要注意的是,此功能仅适用于API级别14+(Android 4.0冰淇淋三明治或更高版本)。
hasPermanentMenuKey()
返回 false。在这里插入一个难过的表情。 - David Givenif(Build.VERSION.SDK_INT <= 10 || (Build.VERSION.SDK_INT >= 14 &&
ViewConfiguration.get(this).hasPermanentMenuKey()))
{
// menu key is present
}
else
{
//No menu key
}
Build.VERSION.SDK_INT >= 14
必须为真才能进行其余部分的评估。请注意,Honeycomb(API 11-13)仅适用于平板电脑,并且不应该有菜单按钮。因此,如果您的目标是决定是否在UI中显示菜单按钮,则此代码应适用于所有API版本。唯一的不良影响是,如果您曾经遇到过带有物理菜单按钮的Honeycomb平板电脑(不确定是否存在),则问题只是外观上的。另请参见http://android-developers.blogspot.de/2012/01/say-goodbye-to-menu-button.html。 - user149408keyssoft
资源限定符。