Android中有没有办法判断用户设备是否有实际的键盘?

Bry*_*yan 6 android android-keypad

我想检测当前用户手机是否有硬件键盘或只有屏幕键盘.这可能与SDK有关吗?

raz*_*ebe 16

是的,你可以.

使用获取Configuration对象

Configuration config = getResources().getConfiguration();
Run Code Online (Sandbox Code Playgroud)

......然后看看这个keyboard领域.

如果它们的值keyboard不是KEYBOARD_NOKEYS,则用户具有硬件键盘.

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