默认情况下,在有硬件menu键的手机上,不会显示menu图标(右上角三个点),如果功能依赖这个菜单,可能在对某些用户来说就有些隐晦了,他们可能无法找到这些功能。 要强制系统显示menu图标,可以用反射的方法,把ViewConfiguration对象的sHasPermanentMenuKey属性设为false,让系统以为没有硬件菜单键。
try {
ViewConfiguration config = ViewConfiguration.get(this);
Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
if (menuKeyField != null) {
menuKeyField.setAccessible(true);
menuKeyField.setBoolean(config, false);
}
} catch (Exception e) {
e.printStackTrace();
}