【问题标题】:Find out if device has softkeys查明设备是否有软键
【发布时间】:2012-06-03 16:12:08
【问题描述】:

在最新版本的 Android 中,设备可能具有软件或硬件按钮。我想了解运行我的应用的设备是哪种情况。

一些背景信息:可以隐藏软键,因为它们显示在屏幕上,但如果您这样做,如果用户触摸显示屏,它们会自动显示,这很好。现在,如果您在具有硬件键的设备上执行相同操作,则第一次触摸仍然会被系统捕获,就像它会再次显示软键一样,但因为没有,所以什么都不会发生,并且触摸事件不会传递给应用程序。

【问题讨论】:

    标签: android user-interface android-4.0-ice-cream-sandwich softkeys


    【解决方案1】:

    您可以使用ViewConfiguration.hasPermanentMenuKey() 来检查菜单键。

    【讨论】:

    • 谢谢,这很好用。 (请记住,这只适用于 SDK >= 14)
    • 你是对的,但我认为对于较低的 API 级别,你可以假设答案。
    • 这是错误的答案。文档说Report if the device has a permanent menu key available to the user不是软键是否存在
    • 这不适用于所有设备。 Galaxy s5 有硬件按钮,但没有菜单键
    • 不要使用这个,而是stackoverflow.com/a/16608481/900608 它不适用于所有设备..
    【解决方案2】:

    对于键盘问题试试

    getResources().getConfiguration().keyboard
    

    为您提供以下之一:

    • KEYBOARD_NOKEYS
    • KEYBOARD_QWERTY
    • KEYBOARD_12KEY

    检查 KEYBOARD_NOKEYS。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 2010-12-28
    相关资源
    最近更新 更多