はい、バーコードスキャナーは物理キーボードとして検出されます。キーボードがデバイスに接続されている場合、デフォルトではソフトキーボードは無効になっています。これを有効にするには、次の方法でハードウェアキーボードをオフにする必要があります。
[設定]>[言語と入力]>[入力方法を選択]
オプション名はデバイスごとに異なる場合があります。スキャナーをオフにしても、ソフトキーボードと一緒に使用できます。
いいえ、現在、プログラムでこれを達成する方法はありません。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();
}
}