有些用户告诉我,我的Android应用程序无法使用,因为他们的设备没有MENU键。
处理这些设备的最佳方法是什么?是否可以检测设备是否缺少MENU键并且仅在这种情况下显示菜单按钮?
最重要的是,你如何在模拟器中测试它?
感谢。
修改:显然问题是用户不知道菜单键被称为菜单键。
编辑:此外,一些非官方的Android设备(如Eken和aPad)没有物理菜单键。
答案 0 :(得分:7)
从Android 3.0(API级别11)开始,设备不需要具有专用的菜单按钮。 (在此处阅读更多相关信息:http://developer.android.com/guide/topics/ui/menus.html)
这意味着您应该为用户提供另一种激活菜单的方式。您可以创建一个按钮并在按下时调用openOptionsMenu();。
答案 1 :(得分:2)
我很惊讶有没有 Menu 键的设备,如我的评论中所述。
正如最近的一个问题所提到的,实际上并没有任何用于检测此问题的API规定:
Programatically detect presence of hardware call/hang up keys
似乎没有“菜单键”硬件选项可以使用AVD模拟:
http://developer.android.com/guide/developing/tools/avd.html#hardwareopts
答案 2 :(得分:2)
检查设备是否有菜单键:
ViewConfiguration.get(context).hasPermanentMenuKey();