2011-07-11 71 views

回答

16

是的,你可以

取使用

Configuration config = getResources().getConfiguration(); 

Configuration對象...然後看看keyboard領域。

如果它們的值爲keyboard不是KEYBOARD_NOKEYS,則用戶具有硬件鍵盤。

請注意,因爲@Carl在下面的評論中說,用戶可能會在您的應用程序運行時隨時連接USB鍵盤,導致keyboard的值發生更改。

+0

謝謝你正在尋找的東西。 – Bryan

+1

雖然確實如果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

+0

@Carl - 更新爲包含重點:應用程序執行中的附加鍵盤。謝謝。 – razlebe

相關問題