6
我想檢測當前的用戶手機是否有硬件鍵盤或只有屏幕鍵盤。這可能與SDK?Android中有沒有一種方法可以判斷用戶設備是否有實際的鍵盤?
我想檢測當前的用戶手機是否有硬件鍵盤或只有屏幕鍵盤。這可能與SDK?Android中有沒有一種方法可以判斷用戶設備是否有實際的鍵盤?
是的,你可以。
取使用
Configuration config = getResources().getConfiguration();
的Configuration對象...然後看看keyboard
領域。
如果它們的值爲keyboard
不是KEYBOARD_NOKEYS,則用戶具有硬件鍵盤。
請注意,因爲@Carl在下面的評論中說,用戶可能會在您的應用程序運行時隨時連接USB鍵盤,導致keyboard
的值發生更改。
謝謝你正在尋找的東西。 – Bryan
雖然確實如果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
@Carl - 更新爲包含重點:應用程序執行中的附加鍵盤。謝謝。 – razlebe