2012-03-07 27 views
2

私のアプリでは、外付けキーボードがデバイスに接続されているかどうかを検出して、ユーザーに何を表示するかを判断する必要があります。Androidデバイスが外付けキーボードに接続されているかどうかを検出するにはどうすればよいですか?

外付けキーボードがデバイス(Xoom android 3.1)に接続されている場合、ソフトキーボードが表示されないことは知っています。

AndroidデバイスがUSBまたはBluetooth経由で外付けキーボードに接続されているかどうかを確認するにはどうすればよいですか?

ありがとうございます!

+0

こんにちは、newConfig.KeyboardHiddenを使用できるとお伝えしましたが、キーボードがあれば何が表示されるのか教えてください。私は値を意味する?? –

答えて

1

BroadcastReceiverを使用して、Bluetoothアクションのインテントフィルタに登録する必要があります。 USB APIを検索する必要があります。 BroadcastReceiverのonReceiveメソッドは、これらのアクティビティを処理します。

+3

ありがとうございます。私はあなたが言ったようにすることを計画していた、そして私はそれを行う別の方法を見つけた。 Android:configChanges = "keyboard"をAndroidManifest.xmlに追加すると、onConfigurationChangedは外付けキーボードの差し込みまたは取り外し時に呼び出されます。それは[newConfig.hardKeyboardHidden](http://developer.android.com/reference/android/content/res/Configuration.html#hardKeyboardHidden)で確認することができます –

+0

はいいいですあまりにも...あなたは答えとしてこれを追加できましたそれを受け入れる、しかし、私はいくつかのポイントを得る心を持っていない。 –

1

Bluetoothキーボードが getResources().getConfiguration().keyboard != Configuration.KEYBOARD_NOKEYS;

とAndroidデバイスに接続されている場合、それがtrueの場合、bluetoothのキーボードが接続されている返す場合、あなたが見つけることができ、それ以外の場合はfalse。

関連する問題