【问题标题】:Is there a way in Android to tell if a users device has an actual keyboard or not?Android中有没有办法判断用户设备是否有实际的键盘?
【发布时间】:2011-07-11 17:45:36
【问题描述】:

我想检测当前用户的手机是有硬件键盘还是只有屏幕键盘。 SDK 可以做到这一点吗?

【问题讨论】:

    标签: android android-keypad


    【解决方案1】:

    是的,你可以

    使用获取Configuration 对象

    Configuration config = getResources().getConfiguration();
    

    ...然后查看keyboard 字段。

    如果keyboard 的值不是KEYBOARD_NOKEYS,则用户有硬件键盘。

    请注意,正如@Carl 在下面的评论中所说,用户可以在您的应用程序运行时随时连接 USB 键盘,从而导致 keyboard 的值发生变化。

    【讨论】:

    • 谢谢我正在寻找的东西。
    • 虽然如果 config.keyboard 不是 KEYBOARD_NOKEYS 用户确实有一个硬件键盘,但应该注意的是,设备可能会报告 KEYBOARD_NOKEYS,但随后连接了一个外部 USB 键盘,并且在您的应用程序运行时报告 KEYBOARD_QWERTY。至少,我有一个运行 CyanogenMod 7.0.3-Harmony / Android 2.3.3 的 GTablet 可以做到这一点。而且,当不是 KEYBOARD_NOKEYS 时,键盘的值可能是 KEYBOARD_12KEY,而不是 KEYBOARD_QWERTY,所以如果键盘类型对您很重要,您可能需要专门测试这些。
    • @Carl - 已更新以包括重新点:在应用程序执行过程中附加键盘。谢谢。
    猜你喜欢
    • 2011-07-24
    • 2017-08-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 2013-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多