4

我试图弄清楚Android手机是否有硬件菜单按钮,我已经搜索并找到了这个方法:

ViewConfiguration.get(getApplicationContext()).hasPermanentMenuKey();

但这似乎不适用于 Android 2.1,我正在尝试创建一个适用于 Android 2.1 及更高版本的应用程序。安卓版本低于3.0的手机是否可以检测到是否有硬件按键?

4

3 回答 3

3

每个兼容的 2.1 android 设备都有一个菜单键,因为它是 CDD 的一部分:

http://source.android.com/compatibility/2.1/android-2.1-cdd.pdf

见第 8.7 节:

“Home、Menu 和 Back 功能对于 Android 导航范例至关重要。无论应用程序处于何种状态,设备实现都必须让用户始终可以使用这些功能。”

因此,如果设备运行的是 android 2.1,则可以安全地假设它具有菜单键。如果它运行的是更高版本,您可以使用您找到的 API。

于 2012-06-07T10:05:21.827 回答
1

hasPermanentMenuKey()从 API 级别 14 开始引入,因为从 Android 3.0 开始,设备被允许没有菜单键。所以我假设您可以放心地假设 2.1 设备将具有菜单键。检查有关此的 android 文档以获取更多信息。Android视图配置有PermanantMenuKey

于 2012-06-07T10:07:40.227 回答
0

hasPermanentMenuKey()在 API 级别 14 (3.0) 上可用。我相信可以安全地假设在 3.0 以下运行的设备上有一个密钥。3.0以上可以调用这个方法来判断是否需要提供替代方法。

于 2012-06-07T10:07:51.510 回答