Ⅰ android中如何判断手机是否存在物理的menu键
这里有段代码,是从cool reader里面看到的,用来判断是否存在物理menu按键,希望能帮上忙。。。
private Boolean hasHardwareMenuKey = null;
public boolean hasHardwareMenuKey() {
if (hasHardwareMenuKey == null) {
ViewConfiguration vc = ViewConfiguration.get(this);
if (DeviceInfo.getSDKLevel() >= 14) {
// boolean vc.hasPermanentMenuKey();
try {
Method m = vc.getClass().getMethod("hasPermanentMenuKey",
new Class<?>[] {});
try {
hasHardwareMenuKey = (Boolean) m.invoke(vc,
new Object[] {});
} catch (IllegalArgumentException e) {
hasHardwareMenuKey = false;
} catch (IllegalAccessException e) {
hasHardwareMenuKey = false;
} catch (InvocationTargetException e) {
hasHardwareMenuKey = false;
}
} catch (NoSuchMethodException e) {
hasHardwareMenuKey = false;
}
}
if (hasHardwareMenuKey == null) {
if (DeviceInfo.EINK_SCREEN)
hasHardwareMenuKey = false;
else if (DeviceInfo.getSDKLevel() < DeviceInfo.ICE_CREAM_SANDWICH)
hasHardwareMenuKey = true;
else
hasHardwareMenuKey = false;
}
}
return hasHardwareMenuKey;
}