はい、バーコード スキャナーは物理キーボードとして検出されます。キーボードがデバイスに接続されている場合、デフォルトではソフト キーボードは無効になっています。有効にするには、次の方法でハードウェア キーボードをオフにする必要があります。
設定 > 言語と入力 > 入力方法の選択
オプション名はデバイスによって異なる場合があります。スキャナーをオフにしても、ソフトキーボードと一緒にスキャナーを使用できます。
いいえ、現在、プログラムでこれを実現する方法はありません。onConfigurationChanged
私たちができることは、スキャナー/キーボードが接続されていることを検出し、次のようにメソッドをオーバーライドして、ユーザーを入力方法選択ウィンドウにリダイレクトすることです。
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if(newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE))
.showInputMethodPicker();
Toast.makeText(this, "Barcode Scanner detected. Please turn OFF Hardware/Physical keyboard to enable softkeyboard to function.", Toast.LENGTH_LONG).show();
}
}