スキャナの切り替え

DataWedge 11.0

SWITCH_SCANNER

DataWedge 6.5 で導入。

実行時に特定のスキャナに切り替えるために使用し、アプリの起動時に、アプリケーション、要件、または状況に最適なスキャン デバイスの選択を可能にします。スキャナは、実行時にデバイスで使用できる状態になっている必要があります。バーコード入力において [イベント発生時に自動でデフォルトに切り替え] が有効になっている場合、スキャナの接続/切断時に SWITCH_SCANNER を使用しないでください。予期しない動作になるおそれがあります。

SWITCH_SCANNER_EX エクストラ (DataWedge 6.6 で追加) は、スキャナ識別子の表で定義されているわかりやすい名前でスキャナを選択できます。

注: SWITCH_SCANNER API は、単一のスキャナを使用する場合にのみサポートされ、複数のスキャナではサポートされません。

関数プロトタイプ

Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.SWITCH_SCANNER", "<scanner index>");


Intent i = new Intent();
i.setAction("com.symbol.datawedge.api.ACTION");
i.putExtra("com.symbol.datawedge.api.SWITCH_SCANNER_EX","<SCANNER_IDENTIFIER>");
this.sendBroadcast(i);

パラメータ

ACTION [String]: "com.symbol.datawedge.api.ACTION"

EXTRA_DATA [String]: "com.symbol.datawedge.api.SWITCH_SCANNER"

EXTRA_DATA [String]: "<スキャナ インデックス>" - アクティブなプロファイルで使用するスキャナのインデックス番号

スキャナのインデックスを取得するには、ENUMERATE_SCANNERS を使用します

スキャナ識別子

スキャナ識別子を使用すると、インデックス番号ではなく、わかりやすい名前でスキャナを識別できます。

SCANNER_IDENTIFIER [String ]: デバイスでサポートされている各スキャナのスキャナ情報バンドル内。どちらのパラメータも DataWedge 6.5 以降でサポートされており、コードでインデックスも参照されている場合は、スキャナ識別子の値が優先されます。

指定可能な値:

  • AUTO - スキャナ自動選択
  • INTERNAL_IMAGER - 内蔵イメージャ スキャナ
  • INTERNAL_LASER - 内蔵レーザー スキャナ
  • INTERNAL_CAMERA - 内蔵カメラ スキャナ
  • SERIAL_SSI ET50/ET55 用のプラグ接続可能な Z バック スキャナ
  • BLUETOOTH_SSI - RS507 Bluetooth スキャナ
  • BLUETOOTH_RS6000 - RS6000 Bluetooth スキャナ
  • BLUETOOTH_DS3678 - DS3678 Bluetooth スキャナ
  • PLUGABLE_SSI - シリアル SSI スキャナ RS429 (WT6000 用)
  • PLUGABLE_SSI_RS5000 - シリアル SSI スキャナ RS5000 (WT6000 用)
  • USB_SSI_DS3608 - DS3608 プラグ接続可能 USB スキャナ

結果コード

DataWedge は、アプリにインテント エクストラ (SEND_RESULT および COMMAND_IDENTIFIER) が含まれている場合、次のエラー コードを返し、DataWedge の結果インテント メカニズムを使用してアプリで結果を取得できるようにします。以下のを参照してください。

  • DATAWEDGE_DISABLED - DataWedge が無効です
  • NO_ACTIVE_PROFILE - プロファイルがアクティブではありません
  • PARAMETER_INVALID - 指定されたスキャナ パラメータが無効です
  • PLUGIN_DISABLED - スキャナ プラグインが無効になっています
  • PROFILE_DISABLED - プロファイルが無効です
  • SCANNER_ALREADY_ENABLED - スキャナが無効になっています
  • SCANNER_DISABLE_FAILED - スキャナが無効になっています
  • SCANNER_NOT_CONNECTED - スキャナが接続されていません

詳細については、結果コード ガイドも参照してください。


コード例

以下のコードでは、現在のスキャナからスキャナ「3」に変更するインテントを渡す方法を示しています。切り替えの結果を検証する (またはエラーが予想される場合) には、インテント エクストラの SEND_RESULT および COMMAND_IDENTIFIER を包含して、結果を取得します。


String scannerIndex = “3”;

// create the intent and action
    Intent i = new Intent();
    i.setAction("com.symbol.datawedge.api.ACTION");
    i.putExtra("com.symbol.datawedge.api.SWITCH_SCANNER", scannerIndex);

// generate result codes
    i.putExtra("SEND_RESULT","true");
    i.putExtra("COMMAND_IDENTIFIER","123456789");

// send the intent
    this.sendBroadcast(i);

関連項目:

Zebra Support Central | インテグレータ ガイド、製品マニュアル、ソフトウェア ダウンロードおよびサポート

LaunchPad | Zebra 開発者コミュニティ

インテント | Android 開発者

インテントおよびインテント フィルタ | Android 開発者

Android インテント | チュートリアル