如何检测Android设备是否与外部键盘连接?

问题描述:

在我的应用程序中,我必须检测外部键盘是否连接到设备,以确定向用户显示的内容。如何检测Android设备是否与外部键盘连接?

我知道如果外接键盘连接在我的设备Xoom android 3.1上,软键盘不会显示。

如何知道Android设备是否通过USB或蓝牙与外部键盘连接?

谢谢!

+0

你好,你提到我们可以使用newConfig.KeyboardHidden,请问如果键盘在那里会显示什么?我的意思是价值? – 2014-04-04 04:41:52

您需要使用BroadcastReceiver并将其注册为蓝牙操作的意图过滤器。您将不得不搜索另一个USB API。 BroadcastReceiver的onReceive方法将处理这些活动。

+3

谢谢。我已经计划按你所说的去做,而我找到了另一种方式去做。将android:configChanges =“keyboard”添加到AndroidManifest.xml中,当外部键盘插入或移除时,将调用onConfigurationChanged。它可以通过[newConfig.hardKeyboardHidden]进行检查(http://developer.android.com/reference/android/content/res/Configuration.html#hardKeyboardHidden) – 2012-03-12 10:54:29

+0

是的,太好了...你可以添加这个作为答案并接受,但我不介意得到几点。 – 2013-06-18 16:03:32

你能找出一个蓝牙键盘连接到Android设备 getResources().getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS;

如果返回true,则蓝牙键盘连接,否则为false。