28

顧客の会社のためにDjangoを使用して在庫管理アプリケーションを開発しており、エンドユーザーデバイスとしてアイスクリームサンドイッチタブレットを使用したいと考えています。正常に動作するUSB​​バーコードリーダーを使用しています。

私の問題は、バーコードリーダーを接続すると、実際のキーボードとして認識され、仮想キーボードにアクセスできなくなることです。これは私にとって大きな問題です。なぜなら、私はEAN13コードをエンコードするためにバーコードリーダーのみを使用し、横にソフトキーボードが必要だからです...

仮想キーボードと実際のキーボードの両方を有効にする方法はありますか?私は本当にこれについて助けが必要です....

ありがとうございました !

4

7 に答える 7

18

さて、私は私の問題の解決策を見つけました!(今、賞金についてどうしたらいいかわからない...)

テキスト領域(例:ナビゲーター上)に入るときは、時計の左側にあるキーボードアイコンをタッチするだけです。「物理キーボードを使用する」の横にある「いいえ」を選択する必要があります。

そのようでも、バーコードリーダーはまだアクティブであり(そうです!)、ソフトキーボードもポップアップすることがわかりました!

于 2012-05-14T09:34:55.093 に答える
15

はい、バーコードスキャナーは物理キーボードとして検出されます。キーボードがデバイスに接続されている場合、デフォルトではソフトキーボードは無効になっています。これを有効にするには、次の方法でハードウェアキーボードをオフにする必要があります。

[設定]>[言語と入力]>[入力方法を選択]

オプション名はデバイスごとに異なる場合があります。スキャナーをオフにしても、ソフトキーボードと一緒に使用できます。

いいえ、現在、プログラムでこれを達成する方法はありません。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();
  }
}
于 2014-06-18T14:07:42.803 に答える
11

InputMethodManagerを使用して、ソフトウェアキーボードを強制的に開くことができます。

InputMethodManager imm = (InputMethodManager)getContext().getSystemService(
                                              Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
于 2012-05-14T07:46:37.597 に答える
5

これを試して、ソフトキーボードを強制的に開きます。

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);

ソフトキーボードを閉じるには:

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(_pay_box_helper.getWindowToken(), 0);
于 2012-05-20T02:35:25.390 に答える
2

私はプログラマーではありませんが、ここに投稿されているのと同じ問題があります。オンラインでよく調べてみたところ、Google Playストアでキーボードがうまく機能していることがわかりました(BTスキャナーとSoftKeyboardが同時に必要です)。KlausWeidnerによってHacker'sKeyboardと呼ばれています。

ハッカーズキーボードを使用して、[設定]->[言語と入力]まで下にスクロール->[ハッカーズキーボード]->[->構成]->[入力モード設定]まで下にスクロール->[ [ソフトキーボードを常に表示する]がオンになっています。スキャナーがBluetooth経由で接続されている場合でも、ソフトキーボードは起動したままになります。Bluetoothスキャナーを切断して再接続するときにも機能します。

于 2015-06-17T04:22:19.267 に答える
1

アイコンが表示されないため、ストックキーボードでは機能しません。別のキーボードアプリまたはキーボードスイッチャーアプリをインストールする必要があります(他のキーボードをインストールしなくても、アイコンが表示されるだけです)

于 2013-02-26T03:54:32.393 に答える
0

[言語と入力] >[キーボード、マウス、トラックパッド]で[オンスクリーンキーボードを使用する(物理キーボードがアクティブな間は画面上に保持する)]を有効にした後、機能しました。

于 2021-11-17T15:05:09.633 に答える