構成の設定

DataWedge 15.0

SET_CONFIG

DataWedge プロファイルとその設定の作成、更新、または置換に使用し、単一のインテント アクションで複数のオプションを構成できます。SET_CONFIG は、ネストされたバンドルを実装します。ここで、PARAM_LIST (パラメータ リスト) バンドルは、対応する PLUGIN_CONFIG (入力、データ処理、ユーティリティ、または出力に基づくオプション ) バンドル内にネストし、次にそれをメインの SET_CONFIG バンドル内にネストできます。SET_CONFIG バンドル内には、複数の PLUGIN_CONFIG バンドルをネストできます。

図 1.ネストされたバンドルの視覚的表現。

設定パラメータを構成せずにプロファイルを作成するには、CREATE_PROFILE を使用します。

関数プロトタイプ

Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", <mainbundle>);

パラメータ

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

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

BUNDLE: <メイン バンドル> (以下のパラメータを参照)

メイン バンドル

メインの SET_CONFIG バンドルには、次のプロパティが含まれます。

  • PROFILE_NAME [String]: アクション実行対象のプロファイルの名前
  • CONFIG_MODE [String]: (デフォルト = OVERWRITE) プロファイルに適用 (PROFILE_NAME から)。CREATE_PROFILE の代わりに使用できます。オプション:
    • CREATE_IF_NOT_EXIST: プロファイルが存在しない場合は、プロファイルが作成され、SET_CONFIG インテントで指定されたパラメータが設定されます。プロファイルが存在する場合は、SET_CONFIG インテントで指定されたパラメータが更新されますが、他のパラメータは変更されません。RESET_CONFIG フラグを使用すると、インテントで指定された新しい値を適用する前に、プラグインをデフォルト値にリセットできます。
    • OVERWRITE: プロファイルが存在する場合は、すべてのオプションがデフォルトにリセットされ、指定した設定が適用されます。
    • UPDATE: 指定された設定のみを更新します。指定されたプロファイルが DataWedge に存在している必要があります。RESET_CONFIG フラグを使用すると、インテントで指定された新しい値を適用する前に、プラグインをデフォルト値にリセットできます。
  • PROFILE_ENABLED [String]: オプション。プロファイルを有効 (true) または無効 (false) にするかどうかを制御します (デフォルト = true)。指定しない場合は、プロファイルの状態は変更されません。
  • PLUGIN_CONFIG [Bundle[ ]]: 各プラグインの設定を含むバンドル配列 (メイン バンドル内にネストされる)
  • APP_LIST [Array]: プロファイルに関連付けられるバンドルの配列。各 APP_LIST バンドルには、次のプロパティが含まれています。
    • PACKAGE_NAME [String]: プロファイルに関連付けられるアプリのパッケージ名。例: "com.symbol.emdk.barcodesample1" またはワイルドカード文字 (*)。
    • ACTIVITY_LIST [List]: PACKAGE_NAME からのアクティビティのリスト。ワイルドカード文字 (*) もサポートされます。

PLUGIN_CONFIG バンドル

PLUGIN_CONFIG バンドルは、次のプロパティを使用して構成されます。

  • RESET_CONFIG [String]: オプション - CONFIG_MODE の CREATE_IF_NOT_EXIST または UPDATE により既存のプロファイルに適用されます。値:
    • True (デフォルト) - 既存の構成をすべてクリアし、指定したパラメータ値を使用して新しい構成を作成します
    • False - 既存の構成を、新しい構成の変更とマージします。既存の値を更新し、構成に存在しない値を追加します
  • PLUGIN_NAME [String]: 構成するプラグインの名前 (大文字と小文字を区別)。PARAM_LIST の値については、以下の表を参照してください。DataWedge 6.5 以前では、プラグインを含む各インテントに個別のインテント アクションが必要です。
    • BARCODE 入力
    • MSR (磁気ストライプ リーダー) 入力
    • RFID (無線周波数識別) 入力
    • SERIAL 入力
    • VOICE 入力
    • WORKFLOW 入力
    • BDF (基本データ形式) 処理
    • ADF (高度なデータ形式) 処理
    • TOKEN (UDI/GS1/MultiBarcode/Workflow データのキーストローク出力および IP 出力におけるデータ形式と順序) 処理
    • INTENT 出力
    • KEYSTROKE 出力
    • IP (インターネット プロトコル) 出力
    • DCP (Data Capture Plus) ユーティリティ
    • EKB (エンタープライズ キーボード) ユーティリティ
  • PARAM_LIST [Bundle]: PLUGIN_CONFIG バンドル内にネストされたパラメータ リスト バンドル。指定されたプラグインの下で更新されるパラメータのリストを含みます。任意のパラメータ値に空の文字列を設定すると、そのパラメータはデフォルト設定にリセットされます
  • OUTPUT_PLUGIN_NAME [String]: PLUGIN_NAME として指定されると、ADF および BDF にのみ適用されます。ADF または BDF パラメータに関連付けられた出力プラグインを指定します。
    • KEYSTROKE
    • INTENT
    • IP

PARAM_LIST BUNDLE

PARAM_LIST バンドルは、以下の各 PLUGIN_NAME パラメータ テーブルからパラメータ名と値を指定して構成されます。PLUGIN_CONFIG バンドルで指定された PLUGIN_NAME と一致するパラメータに適用されます。

ADF の重要事項:

  • ルールがない状態でプロファイルが作成された場合、DataWedge では、「SEND_REMAINING」データを変更しない 1 つのアクションで「Rule0」を作成します。
  • 新たに作成された 1 つ以上のルールの値が欠落している場合や、無効である場合は、デフォルト値が使用されます。
  • インテントを使用して既存のプロファイルの 1 つ以上のアクションを更新するには、プロファイルのすべてのアクションをインテントに含める必要があります。


図 2.ネストされた SET_CONFIG バンドルの視覚的表現。バンドルは青色で示され、対応するプロパティがリストされています。PLUGIN_NAME に、構成に使用可能なプラグイン (オプション) の名前が表示されます。各プラグインの点線矢印は、その特定のプラグインに構成可能なプロパティである、対応する PARAM_LIST を指しています。「コード例」を参照してください

スキャナ識別子

スキャナ識別子 (DataWedge 6.5 で導入) により、インデックス番号ではなく、わかりやすい名前でスキャナを識別できます。

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

指定可能な値:

  • AUTO - スキャナ自動選択
  • INTERNAL_IMAGER - 内蔵イメージャ スキャナ
  • INTERNAL_LASER - 内蔵レーザー スキャナ
  • INTERNAL_CAMERA - 内蔵カメラ スキャナ
  • SERIAL_SSI ET50/ET55 用のプラグ接続可能な Z バック スキャナ
  • BLUETOOTH_SSI - RS507 Bluetooth スキャナ
  • BLUETOOTH_RS6000 - RS6000 Bluetooth スキャナ
  • BLUETOOTH_DS2278 - DS2278 Bluetooth スキャナ – 一部のデバイスには該当しません。詳細は「スキャナの選択」を参照してください
  • BLUETOOTH_DS3678 - DS3678 Bluetooth スキャナ – 一部のデバイスには該当しません。詳細は「スキャナの選択」を参照してください
  • BLUETOOTH_DS8178 – DS8178 Bluetooth スキャナ–一部のデバイスには該当しません。「スキャナの選択」を参照してください
  • BLUETOOTH_LI3678 – LI3678 Bluetooth スキャナ–一部のデバイスには該当しません。「スキャナの選択」を参照してください
  • BLUETOOTH_ZEBRA - Zebra Bluetooth ハンドヘルド スキャナの総称 (DS3678、LI3678、DS8178など)
  • PLUGABLE_SSI - シリアル SSI スキャナ RS429 (WT6000 用)
  • PLUGABLE_SSI_RS5000 - シリアル SSI スキャナ RS5000 (WT6000 用)
  • USB_SSI_DS3608 - DS3608 プラグ接続可能 USB スキャナ
  • USB_TGCS_MP7000 - MP7000 食料品スキャナ スケール
  • USB_ZEBRA - 汎用 Zebra USB スキャナ

結果コード

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

  • PLUGIN_NOT_SUPPORTED - DataWedge Intent API でサポートされていないプラグインを構成しようとしました
  • BUNDLE_EMPTY - バンドルにデータが含まれていません
  • PROFILE_NAME_EMPTY - プロファイル名をデータなしで構成しようとしました
  • PROFILE_NOT_FOUND - 存在しないプロファイルに対して操作を実行しようとしました
  • PLUGIN_BUNDLE_INVALID - 渡されたプラグイン パラメータ バンドルが空であるか、情報が不足しています
  • PARAMETER_INVALID - 渡されたパラメータが空、null、または無効でした
  • APP_ALREADY_ASSOCIATED - すでに別のプロファイルに関連付けられているアプリを関連付けようとしました
  • OPERATION_NOT_ALLOWED - 保護されたプロファイルの名前変更または削除、あるいはアプリと Profile0 の関連付けが行われようとしました
  • RESULT_ACTION_RESULT_CODE_EMPTY_RULE_NAME - - ADF_RULE バンドル内のルール名が空または未定義です
  • UNLICENSED_FEATURE - ライセンスされていない Zebra Professional シリーズ デバイスで、スキャン モードをマルチバーコードまたは NextGen SimulScan に変更するために、構成の設定 API またはスキャナ パラメータの切り替え API を呼び出そうとしました。

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


スキャナ入力パラメータ

デコーダ、デコーダ パラメータ、およびスキャン パラメータの詳細については、「バーコード入力」を参照してください。

サポートされているデコーダおよびデコーダのパラメータについては、「デコーダ」を参照してください。

重要: デコード パラメータのサポートは、選択したスキャン デバイスによって異なります。デバイス固有のサポートに関する注記については、ユニットに付属のインテグレータ ガイドを参照してください。

すべてのパラメータは、大文字と小文字が区別されます。


UPC/EAN パラメータ

詳細については、「UPC/EAN パラメータ」を参照してください。

パラメータ ID パラメータ値
databar_to_upc_ean true
false
upc_enable_marginless_decode true
false
upcean_security_level 0 - レベル 0
1 - レベル 1
2 - レベル 2
3 - レベル 3
upcean_supplemental2 true
false
upcean_supplemental5 true
false
upcean_supplemental_mode 0 - サプリメンタルなし
1 - サプリメンタル常時
2 - サプリメンタル自動
3 - サプリメンタル スマート
4 - サプリメンタル 378-379
5 - サプリメンタル 978-979
6 - サプリメンタル 414-419-434-439
7 - サプリメンタル 977
upcean_retry_count 2 ~ 20 の整数
upcean_linear_decode true
false
upcean_bookland true
false
upcean_coupon true
false
upcean_coupon_report 0 - 旧 Coupon レポート モード
1 - 新 Coupon レポート モード
2 - 両 Coupon レポート モード
upcean_ean_zero_extend true
false
upcean_bookland_format 0 - ISBN-10 形式
1 - ISBN-13 形式

NextGen SimulScan パラメータ

詳細については、「バーコード入力」を参照してください。

パラメータ ID パラメータ値
scanning_mode 3 - マルチバーコード
5 - ドキュメント キャプチャ
doc_capture_template [ドキュメント キャプチャ テンプレートの名前]
common_barcode_dynamic_quantity 1 ~ 100 の整数 (デフォルトは 5)

バーコードのハイライト パラメータ

詳細については、「バーコードのハイライト」を参照してください。

パラメータ ID パラメータ値
barcode_highlighting_enabled true
false
rule_name [ルールの名前]


基準のパラメータ ID と値:

基準
バンドル
キー
基準バンドル値 バンドル ID バンドル値 パラメータ ID パラメータ値
基準 バンドル 識別子 バンドルの ArrayList criteria_key min_length

max_length

contains

ignore_case
criteria_value min_length: imin_length: 整数 1 ~ 10000 (デフォルト = 0)

max_length: max_length: 整数 1 ~ 10000 (デフォルト = 0)

contains: string

ignore_case: true/false (default = false)
シンボル体系 デコーダ内のデコーダ名を参照してください。デコーダ名を文字列配列として渡します。 N/A N/A


アクションのパラメータ ID と値:

アクション バンドル キー アクション バンドル値 パラメータ ID パラメータ値
アクション バンドルの ArrayList action_key 塗りつぶし色
action_value [塗りつぶし色の 16 進値。例: #FFFF0008]

UDI パラメータ

詳細については、「バーコード入力」を参照してください。

パラメータ ID パラメータ値
enable_udi_gs1 true
false
enable_udi_hibcc true
false
enable_udi_iccbba true
false

OCR パラメータ

詳細については、「バーコード入力」を参照してください。

パラメータ ID パラメータ値
ocr_orientation DEGREE_0 (0) (デフォルト)
DEGREE_270 (1)
DEGREE_180 (2)
DEGREE_90 (3)
OMNIDIRECTIONAL (4)
ocr_lines OCR 読み取り中にスキャンする行数を設定します。

LINE_1 (1 行) (デフォルト)
LINE_2 (2 行)
LINE_3 (3 行)
ocr_min_chars OCR 読み取り中にデコードする OCR 文字の行あたりの最小数 (スペースを含まない) を設定します。整数値:

低 - 3 文字 (デフォルト)
高 - 100 文字
ocr_max_chars OCR 読み取り中にデコードする OCR 文字の行あたりの最大数 (スペースを含まない) を設定します。整数値:

低 - 3 文字 (デフォルト)
高 - 100 文字
ocr_subset プリセット フォント バリエーションの代わりに固有の文字グループを定義します。

最小長 - 1
最大長 - 100
ocr_quiet_zone OCR 読み取り中にスキャンを停止するには、フィールド幅を空白に設定します。デフォルトは 50 で、6 文字幅のクワイエット ゾーンを表します。整数値:

低 - 20
高 - 99 (デフォルト - 50)
ocr_template スキャンした OCR 文字を目的の入力形式に正確に合わせるためのテンプレートを作成します。これは、スキャン エラーをなくすのに役立ちます。テンプレートは、数字と文字の構成で表されます。デフォルトは 99999999 で、英数字の任意の OCR 文字列を使用できます。「9」の文字が 8 個未満の場合、「9」は数値のみを表します。

最小長 - 3
最大長 - 100 (デフォルト - 99999999)

詳細については、「OCR パラメータ」を参照してください。
ocr_check_digit_modulus OCR チェック ディジット計算用のチェック ディジット係数値を設定します。整数値:

低 - 1 文字 (デフォルト)
高 - 99 文字
ocr_check_digit_multiplier 文字位置用の OCR チェック ディジット乗数を設定します。

最小長 - 1
最大長 - 100 (デフォルト - 121212121212)
ocr_check_digit_validation なし - 0 (デフォルト)
積の追加 (左-右) - 3
積の追加 (右-左) - 1
桁の追加 (左-右) - 4
桁の追加 (右-左) - 2
積の追加 (右-左) Simple Remainder - 5
桁の追加 (右-左) Simple Remainder - 6
医療産業 - HIBCC43 - 9
inverse_ocr 黒色または暗色の背景に白色または明色の文字で出力されます。このオプションは、標準、反転、または両方の OCR スキャンを選択するために使用します。

REGULAR_ONLY (0) (デフォルト)
INVERSE_ONLY (1)
AUTO_DISCRIMINATE (2)


その他のスキャナ入力パラメータ

パラメータ ID パラメータ値
presentation_mode_sensitivity 80 - 低程度
120 - 中程度
160 - 高程度 (デフォルト)
詳細
barcode_trigger_mode 0 - 無効
1 - 有効
詳細
auto_switch_to_default_on_event 0 - 無効
1 - オン接続
2 - オン切断
3 - オン接続/切断
詳細
digimarc_decoding true
false
scanning_mode 1 - シングル
2 - UDI
multi_barcode_count 2 ~ 100 の整数
instant_reporting_enable true
false
report_decoded_barcodes true
false
scanner_selection_by_identifier 「スキャナ識別子」の表を参照してください。
(*) 詳細については、この表の下の注意事項を参照してください。
scanner_trigger_resource LEFT
RIGHT
CENTER
GUN
PROXIMITY
KEY_MAPPER_SCAN
KEY_MAPPER_L1
KEY_MAPPER_R1
WIRED_LEFT
WIRED_RIGHT
trigger-wakeup true
false
scanner_input_enabled true
false
scanner_selection 自動
0-n (ENUMERATE_SCANNERS API からの有効なスキャナ インデックス)
aim_mode on - オン
off - オフ
beam_timer 0 ~ 60000 の整数
Adaptive_Scanning 0 - 有効
1 - 無効
Beam_Width 0 - 狭
1 - 標準
2 - 広
power_mode 0 - 低出力モード
1 - 最適出力モード
2 - 高出力モード
3 - 常時ON
mpd_mode 0 - 移動電話表示モードを無効化
3 - 移動電話表示モードを有効化
reader_mode 0 - トリガ モード
7 - プレゼンテーション モード
linear_security_level 1 - セキュリティ Short/Codabar
2 - セキュリティ全 2 回
3 - セキュリティ Long + Short
4 - セキュリティ全 3 回
picklist 0 - 無効
1 - 有効/ハードウェア選択リスト
2 - ソフトウェア選択リスト
aim_type 0 - トリガ
1 - 時間指定ホールド
2 - 時間指定リリース
3 - 押してリリース
4 - プレゼンテーション
5 - 連続読み取り
6 - 押して持続
7 - 押して継続
8 - 時間指定継続

詳細情報
scene_detect_qualifier 0 - なし
1 - 近接センサ入力
aim_timer 0 ~ 60000 の整数
same_barcode_timeout 0 ~ 5000 の整数
trigger_wakeup_scan true
false
different_barcode_timeout 0 ~ 5000 の整数
illumination_mode off - オフ
torch - オン
illumination_brightness 0 ~ 10 の整数
lcd_mode 0 - 無効
3 - 有効
low_power_timeout 0 ~ 1000 の整数
delay_to_low_power_mode 16 - 1 秒
29 - 30 秒
32 - 1 分
37 - 5 分
inverse_1d_mode 0 - 無効
1 - 有効
2 - 自動
viewfinder_size 0 ~ 100 の整数
viewfinder_posx 0 ~ 100 の整数
viewfinder_posy 0 ~ 100 の整数
1d_marginless_decode_effort_level 0 - レベル 0
1 - レベル 1
2 - レベル 2
3 - レベル 3
poor_quality_bcdecode_effort_level 0 - レベル 0
1 - レベル 1
2 - レベル 2
3 - レベル 3
charset_name自動
UTF-8
ISO-8859-1
Shift_JIS
GB18030
auto_charset_preferred_order セミコロンで区切られた 1 つの文字列内で優先順位に従って優先オプションをリストします。
     例 1: 「UTF-8;GB2312」
例 2: 「GB2312;UTF-8」
auto_charset_failure_option なし
UTF-8
ISO-8859-1
Shift_JIS
GB18030
viewfinder_mode 1 - ビューファインダ有効
2 - 固定レチクル
code_id_type 0 - コード ID タイプなし
1 - コード ID タイプ - エイム
2 - コード ID タイプ - シンボル
volume_slider_type 0 - ベル音
1 - 音楽 & メディア
2 - アラーム
3 - 通知
decode_audio_feedback_uri URI – RingToneManager から使用可能な URI を照会できます
decode_haptic_feedback


注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
bt_disconnect_on_exit true
false
connection_idle_time 0 ~ 1800 の整数
establish_connection_time 30 ~ 60 の整数
remote_scanner_audio_feedback_mode 0 ~ 3 の整数
remote_scanner_led_feedback_mode 0 ~ 3 の整数
display_bt_address_barcode true
false
good_decode_led_timer 0 ~ 1000 の整数
decoding_led_feedback true
false
decoder_usplanet_report_check_digit true
false
decode_screen_notification true
false
decode_screen_time デコードが成功したときに画面通知を表示する時間 (ミリ秒)。

1000 (デフォルト)
500 ~ 1500
decode_screen_translucency デコード通知の緑色画面の透過値を設定します。値が大きいほど、透過度は高くなります。値の範囲は 20 ~ 50 で、増分は 5 です。

20、25、30、35 (デフォルト)、40、45、50
keep_pairing_info_after_reboot デバイスのリブート後に接続された Bluetooth スキャナへの自動再接続を有効/無効にします。接続されている Bluetooth スキャナにのみ適用されます。

0 - 無効
1 - 有効
dpm_illumination_control DPM バーコードをデコードするためのイルミネーションを制御します。デフォルト値は 10 です。値:

0 - 直接
11 - 間接
10 - サイクル

詳細
dpm_mode バーコード サイズに基づいて DPM バーコードのデコード性能を最適化します。デフォルト値は 2 です。値:

0 - 無効
1 - モード 1
2 - モード 2

詳細
qr_launch_enable true
false
qr_launch_enable_qr_decoder true
false
qr_launch_show_confirmation_dialog true
false
nodecode_time 0~180000 の整数 (1000 単位で増分)
gs1_parsing_enabled true
false
digital_link_parsing_enabled true
false
m_bWeightMetric 0 – ポンド
1 - Kg
minimum_scan_interval 0 ~ 10000 の整数、デフォルトは 0 ミリ秒
starting_focus none - なし (デフォルト)
close - 近距離
short - 短距離
mid - 中距離
long - 長距離
extra_long - 超長距離

詳細情報
starting_focus_outdoor none - なし (デフォルト)
close - 近距離
short - 短距離
mid - 中距離
long - 長距離
extra_long - 超長距離

詳細情報


(*) scanner_selection_by_identifier に関連する注意事項:

  • 複数のスキャナ バンドルでスキャナ識別子として「自動」を送信すると、詳細なエラー コード「AUTO_NOT_SUPPORTED_IN_MULTI_SCANNER_MODE」とともに、エラー コード「PARAMETER_INVALID」が返されます。
  • サポートされていないトリガを送信しても、エラー コードは返されません。
  • 同じトリガが別のスキャナ カテゴリの別のスキャナに割り当てられている場合、最後に処理されるスキャナが優先されます。プラグインの処理順序は保証されません。
  • 内蔵スキャナを 1 台のみ追加できます。もう 1 台の内蔵スキャナを追加しようとした場合は、最後に処理されるスキャナが優先されます。プラグインの処理順序は保証されません。
  • 該当するデバイスでサポートされていないトリガを設定することはできますが、UI には、サポートされているトリガのみが表示されます。
  • 複数のスキャナを使用するときは、SWITCH_SCANNER_PARAMS、SOFT_SCAN_TRIGGER などの DataWedge API でパラメータ scanner_selection_by_identifier を使用する必要があります。そうしないと、COMMAND_NOT_SUPPORTED のエラーが発生します。

MSR 入力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
msr_input_enabled true
false

RFID 入力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
rfid_input_enabled true
false
rfid_beeper_enable true
false
rfid_led_enable true
false
rfid_antenna_transmit_power 5 ~ 30 の整数
rfid_memory_bank 0 - なし (デフォルト)
1 - ユーザー
2 - 予約済み
3 - TID (タグ識別子)
4 - EPC (電子製品コード)
rfid_session 0 - セッション 0
1 - セッション 1 (デフォルト)
2 - セッション 2
3 - セッション 3
rfid_filter_duplicate_tags true
false
rfid_hardware_trigger_enabled true
false
rfid_trigger_mode 0 - 即時 (デフォルト)
1 - 連続
rfid_tag_read_duration 0 ~ 60000 の整数
rfid_link_profile 0~ 11 の整数
範囲整数は、リーダー モデルに基づいて変更される場合があります。
rfid_dynamic_power_mode true
false
プリフィルタ PARAM_LIST
rfid_pre_filter_enable true
false
rfid_pre_filter_tag_pattern [空白]
[任意の文字列]
rfid_pre_filter_target 0 ~ 4 の整数
rfid_pre_filter_memory_bank 0 ~ 2 の整数
rfid_pre_filter_offset 0 ~ 1024 の整数
rfid_pre_filter_action 0 ~ 7 の整数
ポストフィルタ PARAM_LIST
rfid_post_filter_enable true
false
rfid_post_filter_no_of_tags_to_read 0 ~ 1000 の整数
rfid_post_filter_rssi -100 ~ 0 の整数

シリアル入力パラメータ

重要: シリアル パラメータのサポートは、デバイスによって異なります。デバイス固有のサポートに関する注記については、ユニットに付属のインテグレータ ガイドを参照してください。

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
serial_port_id 0-n (有効なインデックスである必要があります)
serial_input_enabled true
false
serial_baudrate 300、1200、2400、4800、9600、19200、38400、57600、115200、230400、460800、または 921600
serial_databits 7
8
serial_parity NONE
ODD
EVEN
MARK
SPACE
serial_stopbits 1
2
serial_flow FLOW_NONE、FLOW_RTS_CTS、または FLOW_XON_XOFF

音声入力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
voice_input_enabled true
false
voice_data_capture_start_option 1 - PTT ボタン
voice_end_detection_timeout 0 ~ 30 (秒)
voice_data_type 0 - すべて
1 - 英文字
2 - 数字
voice_data_capture_waiting_tone true
false
voice_validation_window true
false
voice_offline_speech true
false
voice_command_tab_enabled true
false (デフォルト)
voice_command_tab_phrase send tab (デフォルト)
voice_command_enter_enabled true
false (デフォルト)
voice_command_enter_phrase send enter (デフォルト)
voice_command_move_next_enabled true
false (デフォルト)
voice_command_move_next_phrase move next (デフォルト)
voice_command_move_previous_enabled true
false (デフォルト)
voice_command_move_previous_phrase move previous (デフォルト)
voice_command_escape_enabled true
false (デフォルト)
voice_command_escape_phrase send escape (デフォルト)
voice_command_clear_enabled true
false (デフォルト)
voice_command_clear_phrase clear (デフォルト)

ワークフロー入力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

詳細については、「ワークフロー入力」を参照してください。

パラメータ ID パラメータ値
workflow_input_enabled true
false
selected_workflow_name license_plate
id_scanning
vin_number
tin_number
container_scanning
meter_reading
free_form_capture
document_capture
picklist_ocr
free_form_ocr
basic_multibarcode
imager_frames_streaming
workflow_input_source 1 - イメージャ
2 - カメラ

基本マルチバーコード

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ (デフォルト)
2 - カメラ
入力ソースを指定します
ビーム タイマー/セッション タイムアウト session_timeout BarcodeTrackerModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 15000
1 回のスキャン セッションが自動的に終了するまでの最大時間をミリ秒単位で指定します。
イルミネーション イルミネーション (カメラのみ) BarcodeTrackerModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
ズーム ズーム (カメラのみ) CameraModule 整数範囲: 1 ~ 8 (デフォルト)1 カメラのプレビュー ズーム値を指定します
マルチバーコードの数量モード multibarcode_quantity_mode BarcodeTrackerModule 1 - 固定数量
2-可変数量
マルチバーコード スキャン セッションの完了条件を選択します。
   • 固定数量 - スキャンごとのバーコード数は常に同じです。
   • 可変数量 - バーコード数はスキャンごとに異なる場合があります。このモードでは、数量の最小値と最大値を設定する必要があります。
バーコードの固定数 fixed_barcode_count BarcodeTrackerModule 整数範囲: 1 ~ 100 (デフォルト)5 スキャンするバーコード数を指定します。固定数量モードに適用されます
バーコードの最小数 min_barcode_count BarcodeTrackerModule 整数範囲: 1 ~ 100 (デフォルト)1 スキャンを完了するために必要な、重複しないバーコードの最小数を設定します。可変数量モードに適用されます。
バーコードの最大数 max_barcode_count BarcodeTrackerModule 整数範囲: 2 ~ 100 (デフォルト)5 1 回のスキャン セッションでスキャンする、重複しないバーコード数の上限を設定します。可変数量モードに適用されます。
ビューファインダ viewfinder_enablement BarcodeTrackerModule 1 - オン
2 - オフ
イメージャのビューファインダ プレビューを制御します。カメラのプレビューは常に有効になっています。
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 – ベル音 (音声フィードバックにベル音音量設定を使用)
1 – 音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 – アラーム (音声フィードバックにアラーム音量設定を使用)
3 – 通知 (デフォルト - 音声フィードバックに通知音量設定を使用)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。

自由形式 OCR

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ (デフォルト)
2 - カメラ
入力ソースを指定します
セッション タイムアウト session_timeout MLKitModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 15000
タイムアウト期間を指定します
スクリプト script MLKitModule 0 – ラテン文字 (デフォルト)
1 – ラテン文字と中国語文字
2 – ラテン文字と日本語文字
3 – ラテン文字と韓国語文字
4 – ラテン文字とデーヴァナーガリー文字
読み込むテキストの言語を指定します。
OCR データ ルールの報告 free_form_report_ocr_data MlKitExModule regex - 正規表現 正規表現 (Regex) を使用して、OCR テキストからターゲットデータを抽出するためのルールを指定します。
自動キャプチャモード (RegEx) auto_capture MLKitModule 0 - 有効
1 - 無効 (デフォルト)
設定されたデータルール (RegEx) に一致すると、OCR テキストを自動的にキャプチャします。
正規表現検索 regex_search MlKitExModule N/A OCR スキャンから特定のデータをフィルタリングまたは抽出するための正規表現パターンを入力します。
イルミネーション イルミネーション MLKitModule on - オン (デフォルト)
off - オフ
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image MLKitModule 0 – 無効 (画像出力なし)
1 – フル (画像全体を出力)
2 – クロップ (デフォルト - データのキャプチャ時にプレビュー画面でユーザーが設定した関心領域に画像をクロップして出力)
デコードされたデータの出力画像の範囲を指定します。
ズーム ズーム (カメラのみ) CameraModule 整数範囲: 1 ~ 8 (デフォルト)1 カメラのプレビュー ズーム値を指定します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 – ベル音 (音声フィードバックにベル音の音量設定を使用)
1 – 音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 – アラーム (音声フィードバックにアラーム音量設定を使用)
3 – 通知 (デフォルト - 音声フィードバックに通知音量設定を使用)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。
幅 - 画面に対する比率 (%) viewfinder_roi_width AdvancedViewfinderModule 整数範囲: 10 ~ 100 (10 刻み)
デフォルト: 40
関心領域 (ROI) に割り当てる画面幅の割合をパーセント値で指定します。
高さ - 画面に対する比率 (%) viewfinder_roi_height AdvancedViewfinderModule 整数範囲: 10 ~ 100 (10 刻み)
デフォルト: 10
関心領域 (ROI) に割り当てる画面の高さの割合をパーセント値で指定します。
サイズ変更を自動記憶する viewfinder_roi_persist_for_session AdvancedViewfinderModule 0 – False (デフォルト - オフ)
1 – True (オン)
True に設定すると、各セッションで手動設定した ROI の幅と高さが保持されます。

ピックリスト + OCR

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ (デフォルト)
2 - カメラ
入力ソースを指定します
セッション タイムアウト session_timeout MlKitExModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 15000
タイムアウト期間を指定します
イルミネーション イルミネーション MlKitExModule on - オン (イメージャのデフォルト)
off -オフ (カメラのデフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ (OCR のみ) output_image MlKitExModule 0 – 無効 (画像出力なし)
2 – クロップ (デフォルト - データのキャプチャ時にプレビュー画面でユーザーが設定した関心領域に画像をクロップして出力)
データのデコード元となるキャプチャ画像の出力範囲を指定します
スクリプト script MlKitExModule 0 – ラテン文字 (デフォルト)
1 – ラテン文字と中国語文字
2 – ラテン文字と日本語文字
3 – ラテン文字と韓国語文字
4 – ラテン文字とデーヴァナーガリー文字
読み込むテキストの言語を指定します。
OCR データ ルールの報告 report_ocr_data MlKitExModule identifier - 識別子
regex - 正規表現
識別子 - デコードされたバーコードを出力するための条件とアクションを指定します。
正規表現 - 正規表現 (Regex) を使用して、OCR テキストからターゲット データを抽出するためのルールを指定します。
OCR 自動キャプチャ モード (データ ルール) picklist_auto_capture MlKitExModule 0 - 有効
1 - 無効 (デフォルト)
設定されたデータルールに一致すると、OCR テキストを自動的にキャプチャします。
正規表現検索 regex_search MlKitExModule N/A OCR スキャンから特定のデータをフィルタリングまたは抽出するための正規表現パターンを入力します。
バーコード データ ルールの報告 report_barcode_data BarcodeDecoderModule identifier – 識別子 バーコードのデコード結果を出力するための条件とアクションを指定します
ピックリスト モード picklist_mode MlKitExModule 0 – OCR またはバーコード (デフォルト)
1 – OCR のみ
2 – バーコードのみ
ピックリスト モードでスキャン対象とするデータ タイプを指定します
テキスト構造 text_structure MlKitExModule 0 – 1 語
1 – 1 行 (デフォルト)
テキストの構造を指定します
OCR の信頼性 confidence_level MlKitExModule 整数範囲: 0 ~ 100。デフォルト: 75 OCR によるデコード結果を返すために必要な最小信頼度を指定します
ビューファインダ viewfinder_enablement AdvancedViewfinderModule 1 - オン
2 - オフ
ビューファインダを有効または無効にします
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト - 無効)
1 – True (有効)
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 – ベル音 (音声フィードバックにベル音の音量設定を使用)
1 – 音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 – アラーム (音声フィードバックにアラーム音量設定を使用)
3 – 通知 (デフォルト - 音声フィードバックに通知音量設定を使用)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。

ナンバープレート

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout LicenseDecoderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image LicenseDecoderModule full - フル (デフォルト)
none - なし
データのデコード元となるフレーム (画像) を出力します
地域の選択 scanMode LicenseDecoderModule auto - EU (欧州連合) (デフォルト)
unitedstates - アメリカ合衆国
ナンバープレートの領域に基づいてスキャン モードを選択します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


身分証明書

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout IDDecoderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image IDDecoderModule full - フル (デフォルト)
none - なし
データのデコード元となるフレーム (画像) を出力します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


車両識別番号 (VIN)

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout VinDecoderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image VinDecoderModule full - フル (デフォルト)
none - なし
データのデコード元となるフレーム (画像) を出力します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


タイヤ識別番号 (TIN)

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout TinDecoderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image TinDecoderModule full (デフォルト)
none
データのデコード元となるフレーム (画像) を出力します
TIN タイプ scanMode TinDecoderModule DOT_STRICT – US DOT 1
(長さ: 15 文字または 16 文字、パターン: DOT (3 文字) 、工場コードには 2 ~ 3 文字、製造元コードには 6 文字、そして製造日には 4 桁が使われます。

DOT - US DOT 2
(長さ: 11 ~ 16 文字)

ユニバーサル – ユニバーサル TIN
(長さ: 最小 4 文字)

COMMERCIAL_TIRE - Commercial TIN
(長さ: 7 ~ 14 文字)

TIRE_SIZE - タイヤ サイズ
(長さ: 10 ~ 20 文字)
TIN 読み取りにスキャン モードを選択します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


輸送コンテナ ID

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout ContainerDecoderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
ズーム zoom CameraModule 整数範囲: 1 ~ 8 (1 刻み)
デフォルト: 1
カメラのズーム値を指定します
出力イメージ output_image ContainerDecoderModule full - フル (デフォルト)
none - なし
データのデコード元となるフレーム (画像) を出力します
向き orientation ContainerDecoderModule horizontal - 水平 (デフォルト)
vertical - 垂直
方向タイプを指定します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


メーター

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 2- カメラ 入力ソースを指定します。OCR ではカメラのみがサポートされます
セッション タイムアウト session_timeout MeterReaderModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション CameraModule on - オン
off - オフ (デフォルト)
スキャン中に照明のオン/オフを切り替えます
出力イメージ output_image MeterReaderModule full - フル (デフォルト)
none - なし
データのデコード元となるフレーム (画像) を出力します
メーター タイプ scanMode MeterReaderModule AUTO_ANALOG_DIGITAL_METER – アナログ、デジタル、またはデジタル ドット マトリックス メーター (デフォルト)
DIAL_METER - ダイヤル メーター
メーター タイプをアナログ、デジタル、デジタル ドット マトリックス、またはダイヤルから指定します。
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。


フリーフォーム イメージ キャプチャ

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ (デフォルト)
2 - カメラ
入力ソースを指定します。
セッション タイムアウト session_timeout BarcodeTrackerModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション BarcodeTrackerModule on - オン (デフォルト)
off - オフ
スキャン中に照明のオン/オフを切り替えます
バーコードを読み取り、強調表示 decode_and_highlight_barcodes BarcodeTrackerModule 1 – オフ
2 – 強調表示 (デフォルト)
3 – 読み取り、強調表示
バーコードの読み取りと強調表示、バーコードのみの強調表示、またはどちらも選択しない、を指定します。
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。

イメージャ フレーム ストリーミング

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ 入力ソースを指定します。(注: カメラはフレーム ストリーミングに対応していません。)
セッション タイムアウト session_timeout ImagerModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 10000
タイムアウト期間を指定します
イルミネーション イルミネーション ImagerModule on - オン (デフォルト)
off - オフ
スキャン中に照明のオン/オフを切り替えます
エイム モード aim_mode ImagerModule on - オン (デフォルト)
off - オフ
照準表示を有効/無効にします。
プレビュー viewfinder_enablement ImagerModule 1 - オン (デフォルト)
2 - オフ
ビューファインダを有効または無効にします。
イメージ キャプチャ モード image_capture_mode ImagerModule 1 - イメージ キャプチャのみ (デフォルト)
2 - イメージ キャプチャとデコード
デバイスで、未処理の画像フレームのみをストリーミングするか (イメージ キャプチャのみ)、バーコードを同時にデコードしながらフレームをストリーミングするか (イメージ キャプチャとデコード) を指定します。
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。

ドキュメント キャプチャ

パラメータ名 パラメータ ID モジュール ID パラメータ値
(API 値 - UI 値)
説明
入力ソース workflow_input_source N/A 1 - イメージャ (デフォルト)
2 - カメラ
入力ソースを指定します。
セッション タイムアウト session_timeout BarcodeTrackerModule 整数範囲: 0 ~ 60000 (500 刻み)
デフォルト: 15000
タイムアウト期間を指定します
イルミネーション イルミネーション BarcodeTrackerModule on - オン (デフォルト)
off - オフ
スキャン中に照明のオン/オフを切り替えます
バーコードの有無 barcode_presence BarcodeTrackerModule mandatory – 必須
optional – オプション (デフォルト)
バーコードを提供する必要があるかどうかを指定します
ドキュメントの強調表示モード highlight_mode BarcodeTrackerModule border_only - 枠線のみ (デフォルト)
fill - 塗りつぶし
強調表示するドキュメント領域を指定します
ドキュメントの強調表示色 highlight_color BarcodeTrackerModule デフォルトのカラー コードは次のとおりです。1711322368 - #6600B500 カラー セレクタ ダイアログで、ドキュメントを強調表示する色を選択します
音声フィードバックのデコード decode_audio_feedback_uri FeedbackModule [DataWedge UI で音声フィードバックのデコードから取得されたトーンの名前] デコードに成功したときに再生する音声トーンを指定します
タッチ フィードバックのデコード decode_haptic_feedback FeedbackModule 0 – False (デフォルト)
1 – True
デコードに成功したときのデバイスのバイブレーションを有効/無効にします。

注: Android 13 デバイスの場合、「Decode Haptic Feedback (タッチ フィードバックのデコード)」を機能させるには、デバイス「Settings (設定)」の「Vibration & Haptics (バイブレーションと触覚)」で「Touch Feedback (触覚フィードバック)」を有効にする必要があります。
デコードの LED 通知 decoding_led_feedback FeedbackModule 0 – False (デフォルト)
1 – True
有効にすると、緑色の LED が点滅して、デコードが成功したことを示します
ビープ音量チャンネル volume_slider_type FeedbackModule 0 –ベル音 (音声フィードバックにベル音音量設定を使用)
1 –音楽とメディア (音声フィードバックに音楽とメディアの音量設定を使用)
2 –アラーム (音声フィードバックにアラーム音量設定を使用)
3 –通知 (音声フィードバックに通知音量設定を使用 - デフォルト)
[デコード完了の音声フィードバック] の再生時に使用する音量設定を選択します。

DCP ユーティリティのパラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値 説明
dcp_input_enabled true
false
Data Capture Plus 入力を有効/無効にします
dcp_dock_button_on LEFT - 左のみ
RIGHT - 右のみ
BOTH - 左右
ドック ボタンの位置: 左側、右側、右側または左側 (両側)
dcp_start_in FULLSCREEN
BUTTON
BUTTON_ONLY
DCP の起動モードとして全画面表示、ボタン (ドラッグ & ドロップで再配置できるフローティング ボタン)、およびボタンのみ (再配置不可) を設定します。
dcp_highest_pos 0 ~ 100 画面全体の高さに対する割合で表現されたボタン位置の上限を設定します。たとえば、縦 4 インチの画面で 75 (%) に設定すると、DCP ボタンの上端が画面上端から 1 インチ未満になることはありません。
dcp_lowest_pos 0 ~ 100 画面全体の高さに対する割合で表現されたボタン位置の下限を設定します。たとえば、縦 4 インチの画面で 25 (%) に設定すると、DCP ボタンの下端が画面下端から 1 インチ未満になることはありません。
dcp_drag_detect_time 0 ~ 1000 画面をタップした後に DCP が待機する時間 (ミリ秒) であり、この時間の経過後にスキャナ アクションがトリガされます。これにより、DCP ボタンを新しい場所にドラッグするときに、誤ったトリガを防ぐことができます。


「DCP 入力」を参照してください。


エンタープライズ キーボード構成パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値 説明
ekb_enabled true
false
エンタープライズ キーボードの有効化/無効化
ekb_layout 次の値を受け入れるバンドル:
  • layout_group [string]
• layout_name [string]
エンタープライズ キーボード構成の DataWedge UI に表示されるものと一致する "layout_group" および "layout_name" を指定します。どちらの名前も エンタープライズ キーボード デザイナで設定されます。layout_group はプロジェクト名に基づき、layout_name は指定されたレイアウト名に基づいています。"ekb_layout" を null にすると、デフォルトの標準エンタープライズ キーボードに設定されます。



BDF 処理パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
bdf_enabled true
false
bdf_prefix [取得したデータの前に追加する文字列]
bdf_suffix [取得したデータを追加する文字列]
bdf_send_data true
false
bdf_send_hex true
false
bdf_send_tab true
false
bdf_send_enter true
false

ADF 処理パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
adf_enabled true
false (デフォルト)
ADF_RULE 次の値を受け入れるバンドル:
  • name [string] – 使用する ADF ルールの名前
  • enabled [string] – ルールが有効、true/false (デフォルト = true)
  • alldevices [string] – サポートされているすべての入力ソースからデータを受け入れ、true/false (デフォルト = true)
  • string [string] – チェックする文字列 (デフォルト = 空の文字列)
  • string_pos [string] – 文字列の位置 (デフォルト =0)
  • string_len [string] - 文字列長 (デフォルト =0)
ACTIONS 複数のインスタンスを持つことができるバンドル。次の値を受け入れます。
  • type [string] - 「ADF アクション」の表のアクションの名前
  • [action_param_1], [action_param_2]...(「ADF アクション」で定められているとおり。表を参照)
DEVICES 複数のインスタンスを持つことができるバンドル。次の値を受け入れます。
  • device_id [string] - 入力ソースの名前: BARCODE、MSR、RFID、SERIAL、または VOICE
  • enabled [string] - 指定したデバイス ID からデータを受け入れ、true/false (デフォルト = true)
  • alldecoders [string] - すべてのバーコードシンボル体系を許可、true/false (デフォルト = true)
  • all_label_ids [string] - すべての UDI ラベル ID を許可、true/false (デフォルト = true)
DECODERS 複数のインスタンスを持つことができるバンドル。次の値を受け入れます。
  • device_id [string] - BARCODE、MSR、RFID、SERIAL、または VOICE
  • decoder [string] - (「Australian Postal」など)
  • enabled [string] - true/false (デフォルト = true)
LABEL_IDS 複数のインスタンスを持つことができるバンドル。次の値を受け入れます。
  • device_id [string] - BARCODE、MSR、RFID、SERIAL、または VOICE
  • label_id [string] - UDI_GS1、UDI_HIBCC、または UDI_ICCBBA
  •enabled [string] - true/false (デフォルト = true)

ADF アクション

カテゴリ アクション タイプ
パラメータ (パラメータがある場合)
説明

カーソルの移動

SKIP_AHEAD
action _param_1

指定した文字数だけカーソルを前方に移動します (デフォルト = 1)

SKIP_BACK
action _param_1

指定した文字数だけカーソルを後方に移動します (デフォルト = 1)

SKIP_TO_START

カーソルをデータの先頭に移動します

MOVE_AHEAD_TO
action_param_1

DataWedge UI では [次に移動] と呼ばれており、指定された文字列が見つかるまでカーソルを移動します

MOVE_PAST_A
action_param_1

指定した文字列の前にカーソルを移動します

データの変更

CRUNCH_SPACES

単語間のスペースを 1 に減らし、データの先頭と末尾のすべてのスペースを削除します

STOP_CRUNCH_SPACE

最後のスペース クランチ アクションを無効にします

REMOVE_SPACES

DataWedge UI では [すべてのスペースの削除] と呼ばれており、データ内のすべてのスペースを削除します

STOP_REMOVE_SPACES

最後の REMOVE_SPACES アクションを無効にします

TRIM_LEFT_ZEROS

DataWedge UI では [先頭のゼロを削除] と呼ばれており、データの先頭にあるすべてのゼロを削除します

STOP_TRIM_LEFT_ZEROS

前の TRIM_LEFT_ZEROS アクションを無効にします

PAD_LEFT_ZEROS
action_param_1

DataWedge UI では [ゼロで埋める] と呼ばれており、指定された数のゼロでデータを左詰めします (デフォルト = 0)

STOP_PAD_LEFT_ZEROS

前の PAD_LEFT_ZEROS アクションを無効にします

PAD_LEFT_SPACES
action_param_1

DataWedge UI では [スペースで埋める] と呼ばれており、指定した数のスペースでデータを左詰めします (デフォルト = 0)

STOP_PAD_LEFT_SPACES

前の PAD_LEFT_SPACES アクションを無効にします

REPLACE_STRING
action_param_1
action_param_2

指定した文字列 (action_param_1) を、指定した新しい文字列 (action_param_2) に置き換えます。両方を指定する必要があります (デフォルト = 空)

STOP_REPLACE_ALL

DataWedge UI では [すべての文字列置換の停止] と呼ばれており、すべての REPLACE_STRING アクションを停止します

REMOVE_CHARACTERS
action_param_1
action_param_2
action_param_3

送信アクションが実行されたときに、指定した位置の指定した文字数を削除します
action_param_1: (0 = 前 (デフォルト)、1 = 中間、2 = 末端、3 = 中央)
action_param_2: 開始位置 (デフォルト = 0)
action_param_3: 文字数 (デフォルト = 0)

STOP_REMOVE_CHARS

後続の送信アクションからの文字の削除を停止します

データの送信

SEND_NEXT
action_param_1

現在のカーソル位置から指定した数の文字を送信します (デフォルト = 0)

SEND_REMAINING

現在のカーソル位置から残っているすべてのデータを送信します

SEND_UP_TO
action_param_1

指定した文字列までのすべてのデータを送信します

DELAY

DataWedge UI では [休止を送る] と呼ばれており、指定したミリ秒数 (デフォルト = 0、最大 = 120000) の間、一時停止してから、次のアクションを実行します。ENTER、LINE FEED、または TAB の文字を送信した後、50ms の一時停止を設定することをお勧めします

SEND_STRING
action_param_1

指定した文字列を送信します

SEND_CHAR
action_param_1

指定した ASCII/Unicode 文字を送信します。Unicode 文字の最大値は U-10FFFF (10 進数で 1114111) です

通知

BEEP
action_param_1

通知トーンを設定します。トーン名を取得する手順については、DataWedge UI を参照してください。トーン名は、デバイスおよび Android のバージョンによって異なる場合があります。例:
Bundle bParamsAction1 = new Bundle();
bParamsAction1.putString("type","BEEP");
bParamsAction1.putString("action_param_1","Drip"); // ringtone name

:

  • 特に明記されていない限り、デフォルトの action_param 値は 0、空、またはなしです
  • データの損失を最小限に抑えるため、ENTER、LINE FEED、または TAB の文字を送信した後、50ms の DELAY を送信することをお勧めします。

トークン パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

UDI またはマルチバーコードに適用されます。

パラメータ ID パラメータ値
send_tokens_option DISABLED
TOKENS
BARCODES_TOKENS
token_separator CUSTOM
TAB
CR
LF
NONE
token_custom_separator [任意の文字を使用して、1 ~ 10 文字のカスタム セパレータを定義します]
multibarcode_separator CUSTOM
TAB
CR
LF
NONE
barcode_custom_separator [任意の文字を使用して、1 ~ 10 文字のカスタム セパレータを定義します]
token_order name: manufacturing_date_original
enabled: true/false

name: expiration_date_original
enabled: true/false

name: di
enabled: true/false
(注: 「di」はデバイス識別子を表します)。

name: lot_number
enabled: true/false

name: serial_number
enabled: true/false

name: mpho_lot_number
enabled: true/false

name: donation_id
enabled: true/false

name: labeler_identification_code
enabled: true/false

name: product_or_catalog_number
enabled: true/false

name: unit_of _measure_id
enabled: true/false

name: quantity
enabled: true/false

* DataWedge では、ArrayList にリストされている項目の順序に従って優先順位を決定し、エレメント 0 が最高の優先順位となります。
with_parenthesis_enabled false (デフォルト)
true


「IP 出力」または「キーストローク出力」「UDI データ出力」を参照してください。

ワークフロー セパレータ パラメータ

ワークフロー データ出力に適用されます。

パラメータ ID パラメータ値
workflow_separator CUSTOM
TAB
CR
LF
NONE
workflow_custom_separator [任意の文字を使用して、1 ~ 10 文字のカスタム セパレータを定義します]

GS1 トークン パラメータ

GS1 解析、GS1 Digital Link 解析、およびマルチバーコードに適用されます。

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
gs1_send_token_option DISABLED
TOKENS
BARCODES_TOKENS
gs1_token_separator CUSTOM
TAB
CR
LF
NONE
gs1_custom_separator [任意の文字を使用して、1 ~ 10 文字のカスタム セパレータを定義します]
multibarcode_separator CUSTOM
TAB
CR
LF
NONE
barcode_custom_separator [任意の文字を使用して、1 ~ 10 文字のカスタム セパレータを定義します]
gs1_token_order name: digital_link_domain
enabled: true/false

name: serial_shipping_container_code
enabled: true/false

name: di
enabled: true/false
(注: 「di」はデバイス識別子 (GTIN) を表します。)

name: global_trade_item_number_of_contained_trade_items
enabled: true/false

name: manufacturing_date_original
enabled: true/false

name: best_before_date
enabled: true/false

name: expiration_date_original
enabled: true/false

name: lot_number
enabled: true/false

name: serial_number
enabled: true/false

name: variable_count_of_items
enabled: true/false

name: count_of_trade_items
enabled: true/false

name: company_internal_information
enabled: true/false

name: customers_purchase_order_number
enabled: true/false

name: ship_to_postal_code_within_a_single_postal_authority
enabled: true/false

* DataWedge では、ArrayList にリストされている項目の順序に従って優先順位を決定し、エレメント 0 が最高の優先順位となります。

インテント出力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
intent_output_enabled true
false
intent_action [アクションの正確な名前]
intent_category [カテゴリの正確な名前]
intent_delivery 0 - アクティビティ開始
1 - サービス開始
2 - ブロードキャスト
intent_component_info
[bundle array]
[バンドル]
PACKAGE_NAME [String] インテント データを取得するアプリのパッケージ名
例: com.symbol.app1
SIGNATURE [String] アプリケーション署名を表す SHA1 ハッシュ値。アプリケーション署名の SHA1 を取得する方法については、「コード例」を参照してください。
例: 084421EAE1A65EEBCB68D4341FE3C2BB6BEC9A
[バンドル]
PACKAGE_NAME [String] インテント データを取得するアプリのパッケージ名。
例: com.symbol.app1
SIGNATURE [String] アプリケーション署名を表す SHA1 ハッシュ値。
例: 084421EAE1A65EEBCB68D4341FE3C2BB6BEC9A
[バンドル]
PACKAGE_NAME [String] インテント データを取得するアプリのパッケージ名。
例: com.symbol.app1
SIGNATURE [String] アプリケーション署名を表す SHA1 ハッシュ値。
例: 084421EAE1A65EEBCB68D4341FE3C2BB6BEC9A
intent_use_content_provider true
false

キーストローク出力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
keystroke_output_enabled true
false
keystroke_action_char NONE - ASCII_NO_VALUE
タブ - ASCII_TAB_VALUE
LF - ASCII_LF_VALUE
CR - ASCII_CR_VALUE
keystroke_delay_extended_ascii (廃止予定) 0 ~ 1000 の整数
keystroke_delay_control_chars 0 ~ 1000 の整数
keystroke_character_delay 0 ~ 1000 の整数
keystroke_delay_multibyte_chars_only true
false
keystroke_send_chars_as_events true
false (デフォルト)
keystroke_send_control_chars_as_events true
false (デフォルト)
keystroke_send_tab_as_string true
false (デフォルト)
keystroke_display_datawedge_keyboard true
false (デフォルト)
keystroke_datawedge_keyboard_display_timeout 10 ~ 300 の整数、デフォルトは 10。
keystroke_dw_keyboard_layout_height 10 ~ 100 の整数、デフォルトは 100。

キーストローク遅延に関する注意事項

  • keystroke_delay_extended_ascii パラメータは廃止予定です。
  • キーストローク プラグイン バンドルで keystroke_delay_extended_ascii パラメータを使用する場合、keystroke_delay_multibyte_chars_only パラメータは true に設定されます。
  • keystroke_delay_extended_asciikeystroke_character_delay の両方のパラメータが送信された場合:
  • keystroke_character_delay の値は保持されます。
  • keystroke_delay_extended_ascii の値は無視されます。
  • 使用可能であれば、keystroke_delay_multibyte_chars_only の値は保存されます。そうでない場合は、エラーと見なされます。

IP 出力パラメータ

すべてのパラメータは、大文字と小文字が区別されます。

パラメータ ID パラメータ値
ip_output_enabled true
false
ip_output_ip_wedge_enabled true
false
ip_output_protocol TCP
UDP
ip_output_address [有効な IP アドレス形式]
ip_output_port 1 ~ 65535

コード例

ネストされたバンドル

// MAIN BUNDLE PROPERTIES Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME","Profile12"); // <- "Profile12" is a bundle bMain.putString("PROFILE_ENABLED","true"); // <- that will be enabled bMain.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); // <- or created if necessary. // PLUGIN_CONFIG BUNDLE PROPERTIES Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","BARCODE"); bConfig.putString("RESET_CONFIG","true"); // PARAM_LIST BUNDLE PROPERTIES Bundle bParams = new Bundle(); bParams.putString("scanner_selection","auto"); bParams.putString("scanner_input_enabled","true"); // // NOTE: The "scanner_selection" parameter (above) supports "auto" selection // --OR-- the assignment of a scanner device index, which is obtained by // using the ENUMERATE_SCANNERS API. // // Syntax for scanner index: // // Bundle bParams = new Bundle(); // diff--> bParams.putString("current-device-id","0"); // bParams.putString("scanner_input_enabled","true"); // // // NEST THE BUNDLE "bParams" WITHIN THE BUNDLE "bConfig" bConfig.putBundle("PARAM_LIST", bParams); // THEN NEST THE "bConfig" BUNDLE WITHIN THE MAIN BUNDLE "bMain" bMain.putBundle("PLUGIN_CONFIG", bConfig); // CREATE APP_LIST BUNDLES (apps and/or activities to be associated with the Profile) Bundle bundleApp1 = new Bundle(); bundleApp1.putString("PACKAGE_NAME","com.symbol.emdk.simulscansample1"); bundleApp1.putStringArray("ACTIVITY_LIST", new String[]{ "com.symbol.emdk.simulscansample1.DeviceControl", "com.symbol.emdk.simulscansample1.MainActivity", "com.symbol.emdk.simulscansample1.ResultsActivity.*", "com.symbol.emdk.simulscansample1.ResultsActivity2", "com.symbol.emdk.simulscansample1.SettingsFragment1"}); Bundle bundleApp2 = new Bundle(); bundleApp2.putString("PACKAGE_NAME","com.example.intents.datawedgeintent"); bundleApp2.putStringArray("ACTIVITY_LIST", new String[]{ "com.example.intents.datawedgeintent.DeviceControl", "com.example.intents.datawedgeintent.MainActivity", "com.example.intents.datawedgeintent.ResultsActivity", "com.example.intents.datawedgeintent.SettingsFragment1"}); Bundle bundleApp3 = new Bundle(); bundleApp3.putString("PACKAGE_NAME","*"); bundleApp3.putStringArray("ACTIVITY_LIST", new String[]{"*"}); Bundle bundleApp4 = new Bundle(); bundleApp4.putString("PACKAGE_NAME","com.symbol.myzebraapp"); bundleApp4.putStringArray("ACTIVITY_LIST", new String[]{"*"}); // NEXT APP_LIST BUNDLE(S) INTO THE MAIN BUNDLE bMain.putParcelableArray("APP_LIST", new Bundle[]{ bundleApp1 ,bundleApp2 ,bundleApp3 ,bundleApp4 }); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); this.sendBroadcast(i);

バーコードのハイライト パラメータを設定します

プロファイル内のバーコードのハイライトを設定します。

public void setHighlightBarcodes() { Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "Demo"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "BARCODE"); bConfig.putString("RESET_CONFIG", "true"); Bundle bParams = new Bundle(); bParams.putString("scanner_selection", "auto"); bParams.putString("scanner_input_enabled", "true"); bParams.putString("barcode_highlighting_enabled", "true"); // true , false /*##### Rules configuration start #####*/ Bundle rule1 = new Bundle(); rule1.putString("rule_name","Rule1"); Bundle rule1Criteria = new Bundle(); Bundle bundleMinLength = new Bundle(); bundleMinLength.putString("criteria_key","min_length"); bundleMinLength.putString("criteria_value","1"); Bundle bundleMaxLength = new Bundle(); bundleMaxLength.putString("criteria_key","max_length"); bundleMaxLength.putString("criteria_value","10"); Bundle bundleContains = new Bundle(); bundleContains.putString("criteria_key","contains"); bundleContains.putString("criteria_value","abc"); Bundle bundleIgnoreCase = new Bundle(); bundleIgnoreCase.putString("criteria_key","ignore_case"); bundleIgnoreCase.putString("criteria_value","true"); ArrayList<Bundle> identifierParamList = new ArrayList<>(); identifierParamList.add(bundleMinLength); identifierParamList.add(bundleMaxLength); identifierParamList.add(bundleContains); identifierParamList.add(bundleIgnoreCase); rule1Criteria.putParcelableArrayList("identifier",identifierParamList); rule1Criteria.putStringArray("symbology",new String[]{"decoder_qrcode","decoder_upca"}); rule1.putBundle("criteria",rule1Criteria); Bundle bundleFillColor = new Bundle(); bundleFillColor.putString("action_key","fillcolor"); bundleFillColor.putString("action_value","#FFFF0008"); ArrayList<Bundle> rule1Actions = new ArrayList<>(); rule1Actions.add(bundleFillColor); rule1.putParcelableArrayList("actions",rule1Actions); ArrayList<Bundle> barcodeOverlayRuleList = new ArrayList<>(); barcodeOverlayRuleList.add(rule1); /** * report data */ /*##### Report data for rule Start #####*/ Bundle rule2 = new Bundle(); rule2.putString("rule_name","Rule2"); Bundle rule2Criteria = new Bundle(); Bundle rule2BundleMinLength = new Bundle(); rule2BundleMinLength.putString("criteria_key","min_length"); rule2BundleMinLength.putString("criteria_value","2"); Bundle rule2BundleMaxLength = new Bundle(); rule2BundleMaxLength.putString("criteria_key","max_length"); rule2BundleMaxLength.putString("criteria_value","4"); Bundle rule2BundleContains = new Bundle(); rule2BundleContains.putString("criteria_key","contains"); rule2BundleContains.putString("criteria_value","test1234"); Bundle rule2BundleIgnoreCase = new Bundle(); rule2BundleIgnoreCase.putString("criteria_key","ignore_case"); rule2BundleIgnoreCase.putString("criteria_value","false"); ArrayList<Bundle> rule2IdentifierParamList = new ArrayList<>(); rule2IdentifierParamList.add(rule2BundleMinLength); rule2IdentifierParamList.add(rule2BundleMaxLength); rule2IdentifierParamList.add(rule2BundleContains); rule2IdentifierParamList.add(rule2BundleIgnoreCase); rule2Criteria.putParcelableArrayList("identifier",rule2IdentifierParamList); rule2Criteria.putStringArray("symbology",new String[]{"decoder_grid_matrix"}); rule2.putBundle("criteria",rule2Criteria); Bundle rule2BundleStrokeColor = new Bundle(); rule2BundleStrokeColor.putString("action_key","report"); ArrayList<Bundle> rule2Actions = new ArrayList<>(); rule2Actions.add(rule2BundleStrokeColor); rule2.putParcelableArrayList("actions",rule2Actions); ArrayList<Bundle> reportDataRuleList = new ArrayList<>(); reportDataRuleList.add(rule2); /*##### Report data for rule End #####*/ Bundle ruleBundleBarcodeOverlay = new Bundle(); ruleBundleBarcodeOverlay.putString("rule_param_id","barcode_overlay"); ruleBundleBarcodeOverlay.putParcelableArrayList("rule_list", barcodeOverlayRuleList); Bundle ruleBundleReportData = new Bundle(); ruleBundleReportData.putString("rule_param_id","report_data"); ruleBundleReportData.putParcelableArrayList("rule_list", reportDataRuleList); ArrayList<Bundle> ruleParamList = new ArrayList<>(); ruleParamList.add(ruleBundleBarcodeOverlay); ruleParamList.add(ruleBundleReportData); /*##### Rules configuration end #####*/ bParams.putParcelableArrayList("barcode_highlighting_rules", ruleParamList); bConfig.putBundle("PARAM_LIST", bParams); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); i.putExtra("SEND_RESULT", "COMPLETE_RESULT"); this.sendBroadcast(i); }

OCR パラメータの設定

OCR パラメータを使用してプロファイルを作成/更新します。

void createBarcodeScanProfileWithOCR() { Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "OcrBarcodeApp"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "BARCODE"); bConfig.putString("RESET_CONFIG", "true"); Bundle bParams = new Bundle(); bParams.putString("scanner_selection", "auto"); bParams.putString("scanner_input_enabled", "true"); //Enable/Disable Decoders bParams.putString("decoder_ocr_a", "true"); //Enable or Disable OCR-A font bParams.putString("decoder_ocr_b", "true"); //Enable or Disable OCR-B font bParams.putString("decoder_micr", "true"); //Enable or Disable OCR MICR E13B font bParams.putString("decoder_us_currency", "true"); //Enable or Disable OCR US Currency font //Ocr A and B Variants bParams.putString("ocr_a_variant", "3"); //0 - FULL_ASCII, 1 - RESERVED_1, 2 - RESERVED_2,3 - BANKING bParams.putString("ocr_b_variant", "6"); //0 - FULL_ASCII, 1 - BANKING, 2 - LIMITED, 6 - ISBN_1, 7 - ISBN_2, 3 - TRAVEL_DOCUMENT_1, 8 - TRAVEL_DOCUMENT_2, 20 - TRAVEL_DOCUMENT_3, 4 - PASSPORT, 9 - VISA_TYPE_A, 10 - VISA_TYPE_B, 11 - ICAO_TRAVEL_DOCUMENT //Other OCR Params //Specify the orientation of an OCR String to be read bParams.putString("ocr_orientation", "1"); //Supported Values: 0 - DEGREE_0, 1 - DEGREE_270, 2 - DEGREE_180, 3 - DEGREE_90, 4 - OMNIDIRECTIONAL //Select number of lines to scan during OCR reading bParams.putString("ocr_lines", "2"); //Supported Values: 1 - LINE_1, 2 - LINE_2, 3 - LINE_3 //Select minimum number of OCR characters (not including spaces) per line to decode during OCR reading bParams.putString("ocr_min_chars", "10"); //Supported Values: 3 to 100 in steps of 1 //Select maximum number of OCR characters (including spaces) per line to decode during OCR reading bParams.putString("ocr_max_chars", "15"); //Supported Values: 3 to 100 in steps of 1 //OCR Subset defines a custom group of characters in place of a preset font variant bParams.putString("ocr_subset", "!\"#$%()*+,-./0123456789<>ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz\\^|"); //Minimum length - 1, Maximum Length - 100 //Set field width of blank space to stop scanning during OCR reading bParams.putString("ocr_quiet_zone", "60"); //Supported Values: 20 to 99 in steps of 1 //This option creates a template for precisely matching scanned OCR characters to a desired input format. // Carefully constructing an OCR template eliminates scanning errors. // The template expression will be formed by numbers and letters. // The default is 99999999 which accepts any character OCR strings. bParams.putString("ocr_template", "AAA"); //Sets the Check Digit Modulus value for OCR Check Digit Calculation bParams.putString("ocr_check_digit_modulus", "10"); //Supported Values: 1 to 99 in steps of 1 //Sets OCR check digit multipliers for the character positions bParams.putString("ocr_check_digit_multiplier", "121212121212"); //Minimum length - 1, Maximum Length - 100 (Default - 121212121212) //Selects Check Digit Validation Scheme bParams.putString("ocr_check_digit_validation", "3"); //Supported Values: 0 - None, 3 - Product Add Left to Right, 1 - Product Add Right to Left, 4 - Digit Add Left to Right, 2 - Digit Add Right to Left, 5 - Product Add Right to Left Simple Remainder, 6 - Digit Add Right to Left Simple Remainder, 9 - Health Industry - HIBCC43 //Inverse OCR is white or light words on black or dark background. This option is used to select normal, inverse or both OCR scanning bParams.putString("inverse_ocr", "2"); //0 - REGULAR_ONLY, 1 - INVERSE_ONLY, 2 - AUTO_DISCRIMINATE bConfig.putBundle("PARAM_LIST", bParams); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); bundlePluginConfig.add(bConfig); bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); Intent i = new Intent(); i.setAction(DATAWEDGE_API_ACTION); i.putExtra("SEND_RESULT", "LAST_RESULT"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); this.sendBroadcast(i); }

ナンバープレートの設定を行います

ワークフロー入力の OCR Wedge からナンバー プレート パラメータを設定します。

void setLicensePlateConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "license_plate"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","license_plate"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","LicenseDecoderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "15000"); moduleContainerDecoderModule.putString("output_image", "full"); moduleContainerDecoderModule.putString("scanMode", "unitedstates"); //unitedstates, auto paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "on"); paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "true"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Heaven"); moduleParamsFeedback.putString("volume_slider_type", "2");// 0- Ringer, 1- Music and Media, 2-Alarms, 3- Notification moduleParamsFeedback.putString("decoding_led_feedback", "false"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

身分証明書の設定を行います

ワークフロー入力の OCR Wedge から身分証明書パラメータを設定します。

void setIdentificationDocumentConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "id_scanning"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","id_scanning"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","IDDecoderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "12000"); moduleContainerDecoderModule.putString("output_image", "none"); paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "off"); paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "false"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Iridium"); moduleParamsFeedback.putString("volume_slider_type", "1");// 0- Ringer, 1- Music and Media, 2-Alarms, 3- Notification moduleParamsFeedback.putString("decoding_led_feedback", "true"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

車両識別番号 (VIN) の設定を行います

ワークフロー入力の OCR Wedge から VIN を設定します。

void setVehicleIdentificationConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "vin_number"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","vin_number"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","VinDecoderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "15000"); moduleContainerDecoderModule.putString("output_image", "full"); paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "on"); paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "true"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Heaven"); moduleParamsFeedback.putString("volume_slider_type", "2");// 0- Ringer, 1- Music and Media, 2-Alarms, 3- Notification moduleParamsFeedback.putString("decoding_led_feedback", "false"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

タイヤ識別番号 (TIN) の設定を行います

ワークフロー入力の OCR Wedge から TIN を設定します。

void setTireIdentificationConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "tin_number"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","tin_number"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","TinDecoderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "15000"); moduleContainerDecoderModule.putString("output_image", "full"); moduleContainerDecoderModule.putString("scanMode", "STRICT"); //STRICT,Flexible paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "on"); paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "true"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Heaven"); moduleParamsFeedback.putString("volume_slider_type", "3");// 0- Ringer, 1- Music and Media, 2-Alarms, 3- Notification moduleParamsFeedback.putString("decoding_led_feedback", "false"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

出荷コンテナ ID の設定

ワークフロー入力の OCR Wedge から出荷コンテナ ID パラメータを設定します。

void setShippingContainerIdConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "container_scanning"); bConfigWorkflow.putString("workflow_input_source", "2"); /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","container_scanning"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","ContainerDecoderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "16000"); moduleContainerDecoderModule.putString("output_image", "full"); paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "on"); moduleCameraModule.putString("zoom", "3"); //set value 1-8 default is 1 paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "true"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Drip"); moduleParamsFeedback.putString("volume_slider_type", "2"); moduleParamsFeedback.putString("decoding_led_feedback", "true"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

メーターの設定を行います

ワークフロー入力の OCR Wedge からメーター パラメータを設定します。

void setMeterConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "meter_reading"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","meter_reading"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","MeterReaderModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "15000"); moduleContainerDecoderModule.putString("output_image", "full"); moduleContainerDecoderModule.putString("scanMode", "DIAL_METER"); //DIAL_METER, AUTO_ANALOG_DIGITAL_METER paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetCameraModule = new Bundle(); paramSetCameraModule.putString("module","CameraModule"); Bundle moduleCameraModule = new Bundle(); moduleCameraModule.putString("illumination", "on"); paramSetCameraModule.putBundle("module_params",moduleCameraModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "true"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Heaven"); moduleParamsFeedback.putString("volume_slider_type", "2"); moduleParamsFeedback.putString("decoding_led_feedback", "false"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramSetList.add(paramSetCameraModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

フリーフォーム イメージ キャプチャの設定を行います

ワークフロー入力のイメージ キャプチャからフリーフォーム イメージ キャプチャ パラメータを設定します。

void setFreeFormConfiguration() { Bundle bMain = new Bundle(); Bundle bConfigWorkflow = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); /*###### Configurations for Workflow Input [Start] ######*/ bConfigWorkflow.putString("PLUGIN_NAME", "WORKFLOW"); bConfigWorkflow.putString("RESET_CONFIG", "true"); //Reset existing configurations of barcode input plugin bConfigWorkflow.putString("workflow_input_enabled", "true"); bConfigWorkflow.putString("selected_workflow_name", "free_form_capture"); bConfigWorkflow.putString("workflow_input_source", "2"); //input source 1- imager, 2- camera /*###### Configurations for Workflow Input [Finish] ######*/ Bundle paramList = new Bundle(); paramList.putString("workflow_name","free_form_capture"); paramList.putString("workflow_input_source","2"); Bundle paramSetContainerDecoderModule = new Bundle(); paramSetContainerDecoderModule.putString("module","BarcodeTrackerModule"); Bundle moduleContainerDecoderModule = new Bundle(); moduleContainerDecoderModule.putString("session_timeout", "16000"); moduleContainerDecoderModule.putString("illumination", "off"); moduleContainerDecoderModule.putString("decode_and_highlight_barcodes", "1"); //1-off, 2-highlight, 3- decode and highlight paramSetContainerDecoderModule.putBundle("module_params",moduleContainerDecoderModule); Bundle paramSetFeedbackModule = new Bundle(); paramSetFeedbackModule.putString("module","FeedbackModule"); Bundle moduleParamsFeedback = new Bundle(); moduleParamsFeedback.putString("decode_haptic_feedback", "false"); moduleParamsFeedback.putString("decode_audio_feedback_uri", "Electra"); moduleParamsFeedback.putString("volume_slider_type", "0");// 0- Ringer, 1- Music and Media, 2-Alarms, 3- Notification moduleParamsFeedback.putString("decoding_led_feedback", "true"); paramSetFeedbackModule.putBundle("module_params",moduleParamsFeedback); ArrayList<Bundle> paramSetList = new ArrayList<>(); paramSetList.add(paramSetContainerDecoderModule); paramSetList.add(paramSetFeedbackModule); paramList.putParcelableArrayList("workflow_params", paramSetList); ArrayList<Bundle> workFlowList = new ArrayList<>(); workFlowList.add(paramList); bConfigWorkflow.putParcelableArrayList("PARAM_LIST", workFlowList); bundlePluginConfig.add(bConfigWorkflow); /*###### Configurations for Intent Output [Start] ######*/ Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); //Reset existing configurations of intent output plugin bParamsIntent.putString("intent_output_enabled", "true"); //Enable intent output plugin bParamsIntent.putString("intent_action", INTENT_OUTPUT_ACTION); //Set the intent action bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); //Set a category for intent bParamsIntent.putInt("intent_delivery", 2); // Set intent delivery mechanism, Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bParamsIntent.putString("intent_use_content_provider", "true"); //Enable content provider bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); /*###### Configurations for Intent Output [Finish] ######*/ //Putting the INTENT and BARCODE plugin settings to the PLUGIN_CONFIG extra bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); /*###### Associate this application to the profile [Start] ######*/ Bundle configApplicationList = new Bundle(); configApplicationList.putString("PACKAGE_NAME",getPackageName()); configApplicationList.putStringArray("ACTIVITY_LIST", new String[]{"*"}); bMain.putParcelableArray("APP_LIST", new Bundle[]{ configApplicationList }); /* ###### Associate this application to the profile [Finish] ######*/ bMain.putString("PROFILE_NAME", "Demo"); //Specify the profile name bMain.putString("PROFILE_ENABLED", "true"); //Enable the profile bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); bMain.putString("RESET_CONFIG", "true"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.setPackage("com.symbol.datawedge"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "CREATE_PROFILE"); this.sendBroadcast(iSetConfig); }

RFID 入力構成の設定

private void createProfile() {  // Create bundle for profile configuration Bundle setConfigBundle = new Bundle(); setConfigBundle.putString("PROFILE_NAME","SampleConfigApi"); setConfigBundle.putString("PROFILE_ENABLED", "true"); setConfigBundle.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); setConfigBundle.putString("RESET_CONFIG", "false"); // Associate profile with this app Bundle appConfig = new Bundle(); appConfig.putString("PACKAGE_NAME", getPackageName()); appConfig.putStringArray("ACTIVITY_LIST", new String[]{"*"}); setConfigBundle.putParcelableArray("APP_LIST", new Bundle[]{appConfig}); setConfigBundle.remove("PLUGIN_CONFIG"); // Set RFID configuration Bundle rfidConfigParamList = new Bundle(); rfidConfigParamList.putString("rfid_input_enabled", "true"); rfidConfigParamList.putString("rfid_beeper_enable", "true"); rfidConfigParamList.putString("rfid_led_enable", "true"); rfidConfigParamList.putString("rfid_antenna_transmit_power", "30"); rfidConfigParamList.putString("rfid_memory_bank", "2"); rfidConfigParamList.putString("rfid_session", "1"); rfidConfigParamList.putString("rfid_trigger_mode", "1"); rfidConfigParamList.putString("rfid_filter_duplicate_tags", "true"); rfidConfigParamList.putString("rfid_hardware_trigger_enabled", "true"); rfidConfigParamList.putString("rfid_tag_read_duration", "250"); // Pre-filter rfidConfigParamList.putString("rfid_pre_filter_enable", "true"); rfidConfigParamList.putString("rfid_pre_filter_tag_pattern", "3EC"); rfidConfigParamList.putString("rfid_pre_filter_target", "2"); rfidConfigParamList.putString("rfid_pre_filter_memory_bank", "2"); rfidConfigParamList.putString("rfid_pre_filter_offset", "2"); rfidConfigParamList.putString("rfid_pre_filter_action", "2"); // Post-filter rfidConfigParamList.putString("rfid_post_filter_enable", "true"); rfidConfigParamList.putString("rfid_post_filter_no_of_tags_to_read", "2"); rfidConfigParamList.putString("rfid_post_filter_rssi", "-54"); Bundle rfidConfigBundle = new Bundle(); rfidConfigBundle.putString("PLUGIN_NAME", "RFID"); rfidConfigBundle.putString("RESET_CONFIG", "true"); rfidConfigBundle.putBundle("PARAM_LIST", rfidConfigParamList); // Configure intent output for captured data to be sent to this app Bundle intentConfig = new Bundle(); intentConfig.putString("PLUGIN_NAME", "INTENT"); intentConfig.putString("RESET_CONFIG", "true"); Bundle intentProps = new Bundle(); intentProps.putString("intent_output_enabled", "true"); intentProps.putString("intent_action", "com.zebra.rfid.rwdemo.RWDEMO"); intentProps.putString("intent_category", "android.intent.category.DEFAULT"); intentProps.putString("intent_delivery", "0"); intentConfig.putBundle("PARAM_LIST", intentProps); // Add configurations into a collection ArrayList<Parcelable> configBundles = new ArrayList<>(); configBundles.add(rfidConfigBundle); configBundles.add(intentConfig); setConfigBundle.putParcelableArrayList("PLUGIN_CONFIG", configBundles); // Broadcast the intent Intent intent = new Intent(); intent.setAction("com.symbol.datawedge.api.ACTION"); intent.putExtra("com.symbol.datawedge.api.SET_CONFIG", setConfigBundle); sendBroadcast(intent); } 

シリアル入力構成の設定

// // Port 1 Configuration [Start] // Bundle bPort1 = new Bundle(); bPort1.putString("serial_port_id", "0"); //Supported Values: 0,1 bPort1.putString("serial_input_enabled", "true"); // Supported Values: true, false bPort1.putString("serial_baudrate", "1200"); // Supported Values (some): 300, 1200, 2400, 4800, 19200, and more bPort1.putString("serial_databits", "8"); //Supported Values: 8, 7 bPort1.putString("serial_parity", "ODD"); //Supported Values: NONE, ODD, EVEN, MARK, SPACE bPort1.putString("serial_stopbits", "1"); //Supported Values: 1, 2 bPort1.putString("serial_flow", "FLOW_RTS_CTS"); //Supported Values: FLOW_NONE, FLOW_RTS_CTS, FLOW_DSR_DTR, FLOW_XON_XOFF // // Port 1 Configuration [End] // // Port 2 Configuration [Start] // Bundle bPort2 = new Bundle(); bPort2.putString("serial_port_id", "1"); bPort2.putString("serial_input_enabled", "true"); bPort2.putString("serial_baudrate", "300"); bPort2.putString("serial_databits", "7"); //bPort2.putString("abc", "123"); bPort2.putString("serial_stopbits", "2"); bPort2.putString("serial_flow", "FLOW_DSR_DTR"); bPort2.putString("serial_parity", "EVEN"); // // Port 2 Configuration [End] // Bundle bConfig = new Bundle(); bConfig.putString("RESET_CONFIG", "false"); bConfig.putString("PLUGIN_NAME", "SERIAL"); bConfig.putParcelableArray("DEVICE_LIST", new Bundle[]{ bPort1, bPort2 }); Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "Profile0 (default)"); bMain.putString("CONFIG_MODE", "UPDATE"); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); i.putExtra("SEND_RESULT","LAST_RESULT"); // i.putExtra("SEND_RESULT", "true"); // For versions prior to DataWedge 7.1 i.putExtra("com.symbol.datawedge.api.RESULT_CATEGORY", DEFAULT_CATEGORY); i.putExtra("COMMAND_IDENTIFIER", "DW_SERIAL_COMMAND"); this.sendBroadcast(i);

DCP 入力構成の設定

//SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigDCP = new Bundle(); Bundle bParamsDCP = new Bundle(); bParamsDCP.putString("dcp_input_enabled", "true"); bParamsDCP.putString("dcp_dock_button_on", "LEFT"); //Supported values: BOTH - Left or Right, LEFT - Left only, RIGHT - Right only bParamsDCP.putString("dcp_start_in", "FULLSCREEN"); //Supported Values: FULLSCREEN, BUTTON, BUTTON_ONLY bParamsDCP.putString("dcp_highest_pos", "30"); //Supported Values: 0 - 100, Highest pos can not be greater than lowest pos bParamsDCP.putString("dcp_lowest_pos", "40"); //Supported Values: 0 - 100, Highest pos can not be greater than lowest pos bParamsDCP.putString("dcp_drag_detect_time", "501"); //Supported Values: 0 - 1000 bConfigDCP.putString("RESET_CONFIG", "false"); bConfigDCP.putBundle("PARAM_LIST", bParamsDCP); bMain.putBundle("DCP", bConfigDCP); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); //SetConfig [End] this.sendBroadcast(iSetConfig);

MSR 入力構成の設定

// SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigMSR = new Bundle(); Bundle bParamsMSR = new Bundle(); bParamsMSR.putString("msr_input_enabled", "true"); bConfigMSR.putString("PLUGIN_NAME", "MSR"); bConfigMSR.putString("RESET_CONFIG", "true"); bConfigMSR.putBundle("PARAM_LIST", bParamsMSR); bMain.putBundle("PLUGIN_CONFIG", bConfigMSR); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); // SetConfig [End] this.sendBroadcast(iSetConfig);

音声入力構成の設定

public void CreateProfile (View view) { ArrayList<Bundle> plugins = new ArrayList(); // Configure created profile to apply to this app Bundle profileConfig = new Bundle(); profileConfig.putString("PROFILE_NAME", EXTRA_PROFILENAME); profileConfig.putString("PROFILE_ENABLED", "true"); profileConfig.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); // Create profile if it does not exist // Associate profile with this app Bundle appConfig = new Bundle(); appConfig.putString("PACKAGE_NAME", getPackageName()); appConfig.putStringArray("ACTIVITY_LIST", new String[]{"*"}); profileConfig.putParcelableArray("APP_LIST", new Bundle[]{appConfig}); // Configure intent output for captured data to be sent to this app Bundle intentConfig = new Bundle(); intentConfig.putString("PLUGIN_NAME", "INTENT"); intentConfig.putString("RESET_CONFIG", "true"); Bundle intentProps = new Bundle(); intentProps.putString("intent_output_enabled", "true"); intentProps.putString("intent_action", "com.zebra.datacapture1.ACTION"); intentProps.putString("intent_delivery", "2"); intentConfig.putBundle("PARAM_LIST", intentProps); plugins.add(intentConfig); // Add Voice Input Configuration Bundle voiceConfig = new Bundle(); voiceConfig.putString("PLUGIN_NAME", "VOICE"); voiceConfig.putString("RESET_CONFIG", "false"); Bundle bParams = new Bundle(); bParams.putString("voice_input_enabled", "true"); bParams.putString("voice_end_detection_timeout", "3"); bParams.putString("voice_data_type", "1"); bParams.putString("voice_data_capture_waiting_tone", "true"); bParams.putString("voice_validation_window", "true"); bParams.putString("voice_offline_speech", "false"); bParams.putString("voice_data_capture_start_option", "0"); bParams.putString("voice_command_tab_enabled", "true"); bParams.putString("voice_command_tab_phrase", "tab"); bParams.putString("voice_command_enter", "true"); bParams.putString("voice_command_enter_phrase", "enter"); bParams.putString("voice_command_move_next_enabled", "true"); bParams.putString("voice_command_move_next_phrase", "next"); bParams.putString("voice_command_move_previous_enabled", "true"); bParams.putString("voice_command_move_previous_phrase", "previous"); bParams.putString("voice_command_escape_enabled", "true"); bParams.putString("voice_command_escape_phrase", "escape"); bParams.putString("voice_command_clear_enabled", "true"); bParams.putString("voice_command_clear_phrase", "empty"); voiceConfig.putBundle("PARAM_LIST", bParams); // Add Voice Input plugin Configuration to the plugins list plugins.add(voiceConfig); // Add plugins list to the bundle profileConfig.putParcelableArrayList("PLUGIN_CONFIG", plugins); // Broadcast the intent. Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", profileConfig); i.putExtra("SEND_RESULT","LAST_RESULT"); i.putExtra("COMMAND_IDENTIFIER", "SET_CONFIG"); this.sendBroadcast(i); }

BDF 処理の設定

処理プラグインでは、取得したデータを、関連付けられたアプリに出力プラグインを介して送信する前に、指定された方法でそのデータを操作します。「BDF について」および「ADF について」を参照してください。

// Main bundle properties Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME","Profile12"); bMain.putString("PROFILE_ENABLED","true"); bMain.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); // plugin_config bundle properties Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","BDF"); bConfig.putString("RESET_CONFIG","true"); bConfig.putString("OUTPUT_PLUGIN_NAME","KEYSTROKE"); // param_list bundle properties Bundle bParams = new Bundle(); bParams.putString("bdf_enabled","true"); bParams.putString("bdf_prefix","AAA"); bParams.putString("bdf_send_enter","true"); bConfig.putBundle("PARAM_LIST", bParams); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); this.sendBroadcast(i);

ADF 処理の設定

//MAIN BUNDLE PROPERTIES Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME","ProfileTest"); bMain.putString("PROFILE_ENABLED","true"); bMain.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); //PLUGIN_CONFIG BUNDLE PROPERTIES Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","ADF"); bConfig.putString("RESET_CONFIG","true"); bConfig.putString("OUTPUT_PLUGIN_NAME","KEYSTROKE"); bConfig.putString("adf_enabled","true"); //PARAM_LIST BUNDLE PROPERTIES //RULE BUNDLE PROPERTIES Bundle bParamsRule1 = new Bundle(); bParamsRule1.putString("name","Rule1"); bParamsRule1.putString("enabled","true"); bParamsRule1.putString("alldevices","true"); bParamsRule1.putString("string","abc"); bParamsRule1.putString("string_pos","2"); bParamsRule1.putString("string_len","4"); //ACTION BUNDLE PROPERTIES Bundle bParamsAction1 = new Bundle(); bParamsAction1.putString("type","SEND_NEXT"); bParamsAction1.putString("action_param_1","5"); //ACTION BUNDLE PROPERTIES Bundle bParamsAction2 = new Bundle(); bParamsAction2.putString("type","SKIP_BACK"); //DEVICE BUNDLE PROPERTIES Bundle bParamsDevice1 = new Bundle(); bParamsDevice1.putString("device_id","BARCODE"); bParamsDevice1.putString("enabled","true"); bParamsDevice1.putString("alldecoders","false"); bParamsDevice1.putString("all_label_ids","false"); //DEVICE BUNDLE PROPERTIES Bundle bParamsDevice2 = new Bundle(); bParamsDevice2.putString("device_id","MSR"); bParamsDevice2.putString("enabled","true"); //DEVICE BUNDLE PROPERTIES Bundle bParamsDevice3 = new Bundle(); bParamsDevice3.putString("device_id","SIMULSCAN"); bParamsDevice3.putString("enabled","true"); //DECODER BUNDLE PROPERTIES Bundle bParamsDecoders1 = new Bundle(); bParamsDecoders1.putString("device_id","BARCODE"); bParamsDecoders1.putString("decoder","Australian Postal"); bParamsDecoders1.putString("enabled","true"); //DECODER BUNDLE PROPERTIES Bundle bParamsDecoders2 = new Bundle(); bParamsDecoders2.putString("device_id","BARCODE"); bParamsDecoders2.putString("decoder","Bookland"); bParamsDecoders2.putString("enabled","false"); //DECODER BUNDLE PROPERTIES Bundle bParamsDecoders3 = new Bundle(); bParamsDecoders3.putString("device_id","BARCODE"); bParamsDecoders3.putString("decoder","Codebar"); bParamsDecoders3.putString("enabled","true"); //LABEL ID BUNDLE PROPERTIES Bundle bParamsLabelID1 = new Bundle(); bParamsLabelID1.putString("device_id","BARCODE"); bParamsLabelID1.putString("label_id","UDI_GS1"); bParamsLabelID1.putString("enabled","true"); //LABEL ID BUNDLE PROPERTIES Bundle bParamsLabelID2 = new Bundle(); bParamsLabelID2.putString("device_id","BARCODE"); bParamsLabelID2.putString("label_id","UDI_HIBCC"); bParamsLabelID2.putString("enabled","true"); ArrayList<Bundle> bParamsActionList = new ArrayList<Bundle>(); bParamsActionList.add(bParamsAction1); bParamsActionList.add(bParamsAction2); ArrayList<Bundle> bParamsDeviceList = new ArrayList<Bundle>(); bParamsDeviceList.add(bParamsDevice1); bParamsDeviceList.add(bParamsDevice2); bParamsDeviceList.add(bParamsDevice3); ArrayList<Bundle> bParamsDecoderList = new ArrayList<Bundle>(); bParamsDecoderList.add(bParamsDecoders1); bParamsDecoderList.add(bParamsDecoders2); bParamsDecoderList.add(bParamsDecoders3); ArrayList<Bundle> bParamsLabelIDList = new ArrayList<Bundle>(); bParamsLabelIDList.add(bParamsLabelID1); bParamsLabelIDList.add(bParamsLabelID2); bParamsRule1.putParcelableArrayList("ACTIONS",bParamsActionList); bParamsRule1.putParcelableArrayList("DEVICES",bParamsDeviceList); bParamsRule1.putParcelableArrayList("DECODERS",bParamsDecoderList); bParamsRule1.putParcelableArrayList("LABEL_IDS",bParamsLabelIDList); Bundle bParamsRule2 = new Bundle(); bParamsRule2.putString("name","Rule30"); bParamsRule2.putString("enabled","true"); bParamsRule2.putString("alldevices","true"); bParamsRule2.putString("string","cde"); bParamsRule2.putString("string_pos","3"); bParamsRule2.putString("string_len","5"); ArrayList<Bundle> bParamsList = new ArrayList<Bundle>(); bParamsList.add(bParamsRule1); bParamsList.add(bParamsRule2); bConfig.putParcelableArrayList("PARAM_LIST", bParamsList); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); i.putExtra("SEND_RESULT","LAST_RESULT"); // i.putExtra("SEND_RESULT", "true"); // For versions prior to DataWedge 7.1 i.putExtra("COMMAND_IDENTIFIER", "ADF_API"); this.sendBroadcast(i); // GET RESULT CODE public void onReceive(Context context, Intent intent){ String command = intent.getStringExtra("COMMAND"); String commandidentifier = intent.getStringExtra("COMMAND_IDENTIFIER"); String result = intent.getStringExtra("RESULT"); Bundle bundle = new Bundle(); String resultInfo = ""; if(intent.hasExtra("RESULT_INFO")){ bundle = intent.getBundleExtra("RESULT_INFO"); Set<String> keys = bundle.keySet(); for (String key: keys) { resultInfo += key + ": "+bundle.getString(key) + "\n"; } } String text = "Command: "+command+"\n" + "Result: " +result+"\n" + "Result Info: " +resultInfo + "\n" + "CID:"+commandidentifier; Toast.makeText(context, text, Toast.LENGTH_LONG).show(); };

TOKEN 処理の設定

// SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigToken = new Bundle(); Bundle bParamsToken = new Bundle(); bParamsToken.putString("send_tokens_option", "BARCODES_TOKENS"); // Supported Values: DISABLED, TOKENS, BARCODES_TOKENS bParamsToken.putString("token_separator", "LF"); // Supported Values: None, TAB, CR, LF, CUSTOM bParamsToken.putString("token_custom_separator", "@"); // If "token_separator" is set to "CUSTOM", then define the token_custom_separator. Supported Values: Any character(s) with a length of 1 to 10 characters bParamsToken.putString("multibarcode_separator", "LF"); // Supported Values: NONE, TAB, CR, LF, CUSTOM bParamsToken.putString("barcode_custom_separator", "@"); // If "multibarcode_separator" is set to "CUSTOM", then define the "barcode_custom_separator". Supported Values: Any character(s) with a length of 1 to 10 characters bParamsToken.putString("with_parenthesis_enabled", "false"); // Supported Values: false (default) or true Bundle tokenOrder_manufacturing_date_original = new Bundle(); tokenOrder_manufacturing_date_original.putString("name", "manufacturing_date_original"); tokenOrder_manufacturing_date_original.putString("enabled", "true"); Bundle tokenOrder_expiration_date_original = new Bundle(); tokenOrder_expiration_date_original.putString("name", "expiration_date_original"); tokenOrder_expiration_date_original.putString("enabled", "true"); Bundle tokenOrder_di = new Bundle(); tokenOrder_di.putString("name", "di"); tokenOrder_di.putString("enabled", "true"); Bundle tokenOrder_lot_number = new Bundle(); tokenOrder_lot_number.putString("name", "lot_number"); tokenOrder_lot_number.putString("enabled", "true"); Bundle tokenOrder_serial_number = new Bundle(); tokenOrder_serial_number.putString("name", "serial_number"); tokenOrder_serial_number.putString("enabled", "true"); Bundle tokenOrder_mpho_lot_number = new Bundle(); tokenOrder_mpho_lot_number.putString("name", "mpho_lot_number"); tokenOrder_mpho_lot_number.putString("enabled", "true"); Bundle tokenOrder_donation_id = new Bundle(); tokenOrder_donation_id.putString("name", "donation_id"); tokenOrder_donation_id.putString("enabled", "true"); Bundle tokenOrder_labeler_identification_code = new Bundle(); tokenOrder_labeler_identification_code.putString("name", "labeler_identification_code"); tokenOrder_labeler_identification_code.putString("enabled", "true"); Bundle tokenOrder_product_or_catalog_number = new Bundle(); tokenOrder_product_or_catalog_number.putString("name", "product_or_catalog_number"); tokenOrder_product_or_catalog_number.putString("enabled", "true"); Bundle tokenOrder_unit_of_measure_id = new Bundle(); tokenOrder_unit_of_measure_id.putString("name", "unit_of_measure_id"); tokenOrder_unit_of_measure_id.putString("enabled", "false"); Bundle tokenOrder_quantity = new Bundle(); tokenOrder_quantity.putString("name", "quantity"); tokenOrder_quantity.putString("enabled", "false"); // Specify the token order ArrayList<Bundle> tokenOrderList = new ArrayList<>(); tokenOrderList.add(tokenOrder_manufacturing_date_original); tokenOrderList.add(tokenOrder_expiration_date_original); tokenOrderList.add(tokenOrder_lot_number); tokenOrderList.add(tokenOrder_di); tokenOrderList.add(tokenOrder_serial_number); tokenOrderList.add(tokenOrder_mpho_lot_number); tokenOrderList.add(tokenOrder_donation_id); tokenOrderList.add(tokenOrder_labeler_identification_code); tokenOrderList.add(tokenOrder_product_or_catalog_number); tokenOrderList.add(tokenOrder_unit_of_measure_id); tokenOrderList.add(tokenOrder_quantity); bParamsToken.putParcelableArrayList("token_order", tokenOrderList); bConfigToken.putString("PLUGIN_NAME", "TOKEN"); bConfigToken.putString("OUTPUT_PLUGIN_NAME", "KEYSTROKE"); // Tokens are supported only in KEYSTROKE and IP plugins only bConfigToken.putString("RESET_CONFIG", "true"); bConfigToken.putBundle("PARAM_LIST", bParamsToken); bMain.putBundle("PLUGIN_CONFIG", bConfigToken); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); // SetConfig [End] this.sendBroadcast(iSetConfig);

ワークフロー セパレータの設定

// SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigToken = new Bundle(); Bundle bParamsToken = new Bundle(); bParamsToken.putString("workflow_separator","LF"); // Supported Values: NONE, TAB, LF, CR, CUSTOM bParamsToken.putString("workflow_custom_separator", "@"); // If "workflow_separator" is set to "CUSTOM", then define the "workflow_custom_separator". Supported Values: Any character(s) with a length of 1 to 10 characters bConfigToken.putString("PLUGIN_NAME", "TOKEN"); bConfigToken.putString("OUTPUT_PLUGIN_NAME", "KEYSTROKE"); // Tokens are supported only in KEYSTROKE and IP plugins only bConfigToken.putString("RESET_CONFIG", "true"); bConfigToken.putBundle("PARAM_LIST", bParamsToken); bMain.putBundle("PLUGIN_CONFIG", bConfigToken); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); // SetConfig [End] this.sendBroadcast(iSetConfig);

GS1 TOKEN 処理の設定

// SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigToken = new Bundle(); Bundle bParamsToken = new Bundle(); bParamsToken.putString("gs1_send_token_option","BARCODES_TOKENS"); bParamsToken.putString("gs1_token_separator","LF"); // Supported Values: NONE, TAB, LF, CR, CUSTOM bParamsToken.putString("gs1_custom_separator", "@"); // If "gs1_token_separator" is set to "CUSTOM", then define "gs1_custom_separator". Supported Values: Any character(s) with a length of 1 to 10 characters bParamsToken.putString("multibarcode_separator","LF"); // Supported Values: NONE, TAB, LF, CR, CUSTOM bParamsToken.putString("barcode_custom_separator", "@"); // If "multibarcode_separator" is set to "CUSTOM", define "barcode_custom_separator". Supported Values: Any characters with a length of 1 to 10 characters bParamsToken.putString("with_parenthesis_enabled", "false"); // Supported Values: false (default) or true Bundle gs1TokenOrderDomain = new Bundle(); gs1TokenOrderDomain.putString("name","digital_link_domain"); gs1TokenOrderDomain.putString("enabled","true"); Bundle gs1TokenOrderSSCC = new Bundle(); gs1TokenOrderSSCC.putString("name","serial_shipping_container_code"); gs1TokenOrderSSCC.putString("enabled","true"); Bundle gs1TokenOrderDIGTIN = new Bundle(); gs1TokenOrderDIGTIN.putString("name","di"); gs1TokenOrderDIGTIN.putString("enabled","true"); Bundle gs1TokenOrderGTIN = new Bundle(); gs1TokenOrderGTIN.putString("name","global_trade_item_number_of_contained_trade_items"); gs1TokenOrderGTIN.putString("enabled","false"); Bundle gs1TokenOrderMDO = new Bundle(); gs1TokenOrderMDO.putString("name","manufacturing_date_original"); gs1TokenOrderMDO.putString("enabled","true"); Bundle gs1TokenOrderBDD = new Bundle(); gs1TokenOrderBDD.putString("name","best_before_date"); gs1TokenOrderBDD.putString("enabled","true"); Bundle gs1TokenOrderEDO = new Bundle(); gs1TokenOrderEDO.putString("name","expiration_date_original"); gs1TokenOrderEDO.putString("enabled","true"); Bundle gs1TokenOrderLOT = new Bundle(); gs1TokenOrderLOT.putString("name","lot_number"); gs1TokenOrderLOT.putString("enabled","true"); Bundle gs1TokenOrderSN = new Bundle(); gs1TokenOrderSN.putString("name","serial_number"); gs1TokenOrderSN.putString("enabled","false"); Bundle gs1TokenOrderVCount = new Bundle(); gs1TokenOrderVCount.putString("name","variable_count_of_items"); gs1TokenOrderVCount.putString("enabled","true"); Bundle gs1TokenOrderCount = new Bundle(); gs1TokenOrderCount.putString("name","count_of_trade_items"); gs1TokenOrderCount.putString("enabled","false"); Bundle gs1TokenOrderCII = new Bundle(); gs1TokenOrderCII.putString("name","company_internal_information"); gs1TokenOrderCII.putString("enabled","false"); Bundle gs1TokenOrderCPON = new Bundle(); gs1TokenOrderCPON.putString("name","customers_purchase_order_number"); gs1TokenOrderCPON.putString("enabled","true"); Bundle gs1TokenOrderSTP = new Bundle(); gs1TokenOrderSTP.putString("name","ship_to_postal_code_within_a_single_postal_authority"); gs1TokenOrderSTP.putString("enabled","false"); // Specify the gs1 token order ArrayList gs1TokenOrderList = new ArrayList(); gs1TokenOrderList.add(gs1TokenOrderDomain); gs1TokenOrderList.add(gs1TokenOrderSSCC); gs1TokenOrderList.add(gs1TokenOrderDIGTIN); gs1TokenOrderList.add(gs1TokenOrderGTIN); gs1TokenOrderList.add(gs1TokenOrderMDO); gs1TokenOrderList.add(gs1TokenOrderBDD); gs1TokenOrderList.add(gs1TokenOrderEDO); gs1TokenOrderList.add(gs1TokenOrderLOT); gs1TokenOrderList.add(gs1TokenOrderSN); gs1TokenOrderList.add(gs1TokenOrderVCount); gs1TokenOrderList.add(gs1TokenOrderCount); gs1TokenOrderList.add(gs1TokenOrderCII); gs1TokenOrderList.add(gs1TokenOrderCPON); gs1TokenOrderList.add(gs1TokenOrderSTP); bParamsToken.putParcelableArrayList("gs1_token_order",gs1TokenOrderList); bConfigToken.putString("PLUGIN_NAME","TOKEN"); bConfigToken.putString("OUTPUT_PLUGIN_NAME","KEYSTROKE"); bConfigToken.putString("RESET_CONFIG","true"); bConfigToken.putBundle("PARAM_LIST",bParamsToken); bMain.putBundle("PLUGIN_CONFIG",bConfigToken); bMain.putString("PROFILE_NAME","Profile007"); bMain.putString("PROFILE_ENABLED","true"); bMain.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG",bMain); iSetConfig.putExtra("SEND_RESULT","true"); iSetConfig.putExtra("COMMAND_IDENTIFIER","INTENT_API"); // SetConfig [End] this.sendBroadcast(iSetConfig);

キーストローク出力の設定

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); registerReceivers(); } @Override protected void onResume() { super.onResume(); setKeystrokeOutputPluginConfiguration(); } private void registerReceivers() { IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory("android.intent.category.DEFAULT"); registerReceiver(datawedgeKeystrokeNIntentStatusBR, filter); } private BroadcastReceiver datawedgeKeystrokeNIntentStatusBR = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String command = intent.getStringExtra("COMMAND").equals("") ? "EMPTY" : intent.getStringExtra("COMMAND"); String commandIdentifier = intent.getStringExtra("COMMAND_IDENTIFIER").equals("") ? "EMPTY" : intent.getStringExtra("COMMAND_IDENTIFIER"); String result = intent.getStringExtra("RESULT").equals("") ? "EMPTY" : intent.getStringExtra("RESULT"); Bundle bundle; String resultInfo = ""; if (intent.hasExtra("RESULT_INFO")) { bundle = intent.getBundleExtra("RESULT_INFO"); Set<String> keys = bundle.keySet(); for (String key : keys) { resultInfo += key + ": " + bundle.getString(key) + "\n"; } } String text="\n"+"Command: " + command + "\n" + "Result: " + result + "\n" + "Result Info: " + resultInfo + "\n" + "CID: " + commandIdentifier; Log.d("TAG”,text); } }; public void setKeystrokeOutputPluginConfiguration() { Bundle configBundle = new Bundle(); configBundle.putString("PROFILE_NAME","UserProfile"); configBundle.putString("PROFILE_ENABLED","true"); configBundle.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "KEYSTROKE"); Bundle bParams = new Bundle(); bParams.putString("keystroke_output_enabled","true"); bParams.putString("keystroke_action_char","9"); // 0, 9 , 10, 13 bParams.putString("keystroke_delay_extended_ascii","500"); bParams.putString("keystroke_delay_control_chars","800"); bConfig.putBundle("PARAM_LIST", bParams); configBundle.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", configBundle); i.putExtra("SEND_RESULT","LAST_RESULT"); // i.putExtra("SEND_RESULT", "true"); // For versions prior to DataWedge 7.1 i.putExtra("COMMAND_IDENTIFIER", "KEYSTROKE_API"); this.sendBroadcast(i); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(datawedgeKeystrokeNIntentStatusBR); }

IP 出力の設定

// SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigIPOutput = new Bundle(); Bundle bParamsIPOutput = new Bundle(); bParamsIPOutput.putString("ip_output_enabled", "true"); bParamsIPOutput.putString("ip_output_ip_wedge_enabled", "false"); bParamsIPOutput.putString("ip_output_protocol", "UDP"); //Supported Values: TCP: UDP bParamsIPOutput.putString("ip_output_address", "192.168.0.1"); //Supported Values : IP Address format bParamsIPOutput.putString("ip_output_port", "55555"); //Supported Values : 1 - 65535 bConfigIPOutput.putString("PLUGIN_NAME", "IP"); bConfigIPOutput.putString("RESET_CONFIG", "true"); bConfigIPOutput.putBundle("PARAM_LIST", bParamsIPOutput); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); bundlePluginConfig.add(bConfigIPOutput); bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); // SetConfig [End] this.sendBroadcast(iSetConfig);

INTENT 出力の設定

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); registerReceivers(); } @Override protected void onResume() { super.onResume(); setIntentOutputPluginConfiguration(); } private void registerReceivers() { IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory("android.intent.category.DEFAULT"); registerReceiver(datawedgeKeystrokeNIntentStatusBR, filter); } private BroadcastReceiver datawedgeKeystrokeNIntentStatusBR = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String command = intent.getStringExtra("COMMAND").equals("") ? "EMPTY" : intent.getStringExtra("COMMAND"); String commandIdentifier = intent.getStringExtra("COMMAND_IDENTIFIER").equals("") ? "EMPTY" : intent.getStringExtra("COMMAND_IDENTIFIER"); String result = intent.getStringExtra("RESULT").equals("") ? "EMPTY" : intent.getStringExtra("RESULT"); Bundle bundle; String resultInfo = ""; if (intent.hasExtra("RESULT_INFO")) { bundle = intent.getBundleExtra("RESULT_INFO"); Set<String> keys = bundle.keySet(); for (String key : keys) { resultInfo += key + ": " + bundle.getString(key) + "\n"; } } String text ="\n" + "Command: " + command + "\n" + "Result: " + result + "\n" + "Result Info: " + resultInfo + "\n" + "CID: " + commandIdentifier; Log.d("TAG”,text); } }; public void setIntentOutputPluginConfiguration() { Bundle bMain = new Bundle(); Bundle bConfig = new Bundle(); Bundle bParams = new Bundle(); bParams.putString("intent_output_enabled","true"); bParams.putString("intent_action","com.symbol.dwudiusertokens.udi"); bParams.putString("intent_category","zebra.intent.dwudiusertokens.UDI"); bParams.putInt("intent_delivery",2); //Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast bConfig.putString("PLUGIN_NAME", "INTENT"); bConfig.putString("RESET_CONFIG","false"); bConfig.putBundle("PARAM_LIST", bParams); bMain.putBundle("PLUGIN_CONFIG", bConfig); bMain.putString("PROFILE_NAME","UserProfile"); bMain.putString("PROFILE_ENABLED","true"); bMain.putString("CONFIG_MODE","CREATE_IF_NOT_EXIST"); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG",bMain); i.putExtra("SEND_RESULT","LAST_RESULT"); // i.putExtra("SEND_RESULT", "true"); // For versions prior to DataWedge 7.1 i.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); this.sendBroadcast(i); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(datawedgeKeystrokeNIntentStatusBR); }

インテント出力のコンポーネント情報の設定

Bundle bMain = new Bundle(); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bParamsIntent.putString("intent_output_enabled", "true"); bParamsIntent.putString("intent_action", "com.zebra.myapplication"); bParamsIntent.putString("intent_category", "android.intent.category.DEFAULT"); ArrayList<Bundle> bundleComponentInfo = new ArrayList<Bundle>(); Bundle component0 = new Bundle(); component0.putString("PACKAGE_NAME","com.symbol.test"); component0.putString("SIGNATURE","E22084421EAE1A65EEBCB68D4341FE3C2BB6BEC9D"); bundleComponentInfo.add(component0); Bundle component1 = new Bundle(); component1.putString("PACKAGE_NAME","com.symbol.testpackage"); component1.putString("SIGNATURE","E22084421EAE1A65EEBCB68D4341FE3C2BB6BEC9"); bundleComponentInfo.add(component1); Bundle component2 = new Bundle(); component2.putString("PACKAGE_NAME","com.symbol.test"); component2.putString("SIGNATURE","E22084421EAE1A65EEBCB68D4341FE3C2BB6BEC9E"); bundleComponentInfo.add(component2); bParamsIntent.putParcelableArrayList("intent_component_info", bundleComponentInfo); bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "true"); bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); bundlePluginConfig.add(bConfigIntent); bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); bMain.putString("PROFILE_NAME", "Profile009"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "SET_INTENT_OUTPUT"); this.sendBroadcast(iSetConfig);

アプリケーション署名の SHA1 の取得

インテント出力のコンポーネント情報からアプリケーション書名の SHA1 ハッシュ値を取得します。

import android.content.Context; import android.content.pm.PackageManager; import android.content.pm.Signature; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class SignatureCheck { void main(Context context) { try { Signature[] signatures = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES).signatures; for (Signature sig : signatures) { String sha1Signature = getSHA1(sig.toByteArray()); } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } } public static String getSHA1(byte[] sig) { MessageDigest digest = null; try { digest = MessageDigest.getInstance("SHA1"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } digest.update(sig); byte[] hashtext = digest.digest(); return bytesToHex(hashtext); } public static String bytesToHex(byte[] bytes) { final char[] hexArray = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; char[] hexChars = new char[bytes.length * 2]; int v; for (int j = 0; j < bytes.length; j++) { v = bytes[j] & 0xFF; hexChars[j * 2] = hexArray[v >>> 4]; hexChars[j * 2 + 1] = hexArray[v & 0x0F]; } return new String(hexChars); } }

結果コードの設定/取得

コマンドおよび構成インテント パラメータは、結果コードを送信するかどうかを決定します (デフォルトでは無効)。SEND_RESULT を使用する場合は、結果コードと元のインテントを照合するために、COMMAND_IDENTIFIER を使用します。こうしたパラメータの使用方法のサンプルを以下に示します。

注: 使用する API と一致するように、この汎用コードを変更する必要があります

// send the intent Intent i = new Intent(); i.setAction(ACTION); i.putExtra("com.symbol.datawedge.api.CREATE_PROFILE", "Profile1"); // request and identify the result code i.putExtra("SEND_RESULT","LAST_RESULT");

// i.putExtra("SEND_RESULT", "true"); //DataWedge 7.1 より前のバージョンの場合 i.putExtra("COMMAND_IDENTIFIER","123456789"); this.sendBroadcast(i);

// register to receive the result public void onReceive(Context context, Intent intent){ String command = intent.getStringExtra("COMMAND"); String commandidentifier = intent.getStringExtra("COMMAND_IDENTIFIER"); String result = intent.getStringExtra("RESULT"); Bundle bundle = new Bundle(); String resultInfo = ""; if(intent.hasExtra("RESULT_INFO")){ bundle = intent.getBundleExtra("RESULT_INFO"); Set<String> keys = bundle.keySet(); for (String key: keys) { resultInfo += key + ": "+bundle.getString(key) + "\n"; } } String text = "Command: "+command+"\n" + "Result: " +result+"\n" + "Result Info: " +resultInfo + "\n" + "CID:"+commandidentifier; Toast.makeText(context, text, Toast.LENGTH_LONG).show(); };

スキャン用の内部イメージャの使用

Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","BARCODE"); Bundle bParams = new Bundle(); bParams.putString("scanner_input_enabled", "true"); // // auto or valid scanner identifier: // bParams.putString("scanner_selection_by_identifier", "INTERNAL_IMAGER"); bConfig.putBundle("PARAM_LIST",bParams);

文字間遅延の構成

private Integer ctrlCharacterDelayValue; private Integer genericCharacterDelayValue; private Boolean flagExtendedASCIIOnly; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); registerReceivers(); ctrlCharacterDelayValue = null; genericCharacterDelayValue = null; flagExtendedASCIIOnly = null; } private void registerReceivers() { IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory(Intent.CATEGORY_DEFAULT); registerReceiver(broadcastReceiver, filter); } @Override protected void onDestroy() { super.onDestroy(); unregisterReceiver(broadcastReceiver); } //Set configuration public void setKeystrokeOutputPluginConfiguration(View v) { Bundle configBundle = new Bundle(); configBundle.putString("PROFILE_NAME","Profile0 (default)"); configBundle.putString("PROFILE_ENABLED","true"); configBundle.putString("CONFIG_MODE","UPDATE"); Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "KEYSTROKE"); Bundle bParams = new Bundle(); bParams.putString("keystroke_output_enabled","true"); if(ctrlCharacterDelayValue!=null){ bParams.putString("keystroke_delay_control_chars",ctrlCharacterDelayValue+""); } if(genericCharacterDelayValue !=null){ bParams.putString("keystroke_character_delay", genericCharacterDelayValue +""); } if(flagExtendedASCIIOnly!=null){ bParams.putString("keystroke_delay_multibyte_chars_only", flagExtendedASCIIOnly +""); } bConfig.putBundle("PARAM_LIST", bParams); configBundle.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", configBundle); i.putExtra("SEND_RESULT","LAST_RESULT"); // i.putExtra("SEND_RESULT", "true"); // For versions prior to DataWedge 7.1 i.putExtra("COMMAND_IDENTIFIER", "KEYSTROKE_API"); this.sendBroadcast(i); } //broadcast receiver private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); Log.d(TAG, "#DataWedge-APP# Action: " + action); //result of set config if(action.equals("com.symbol.datawedge.api.RESULT_ACTION")){ Bundle extrasBundle = intent.getExtras(); Set<String> keys = extrasBundle.keySet(); if(keys!=null&&keys.contains("RESULT")){ String result = (String)extrasBundle.get("RESULT"); Log.d(TAG,"Result:"+result); //get additional info Bundle resultInforBundle = (Bundle) extrasBundle.get("RESULT_INFO"); Object resultCode = resultInforBundle.get("RESULT_CODE"); if(resultCode instanceof String){ String code = (String)resultCode; Log.d(TAG,"Code:"+code); }else if(resultCode instanceof String[]){ String[] codesArray = (String[])resultCode; if(codesArray!=null){ for(String code : codesArray){ Log.d(TAG,"Code:"+code); } } } } }//end result of set config }//end onReceive };

単一インテントにおける複数モジュール (フル プロファイル) 用の構成の設定

DataWedge 7.1 でサポートが開始されました。以前の DataWedge バージョンでは、複数モジュール (プラグイン、APP_LIST、および Data Capture Plus) の構成の設定に、複数のインテント呼び出しが必要でした。

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory("android.intent.category.DEFAULT"); registerReceiver(broadcastReceiver, filter); setConfig(); } public void setConfig() { /** * Setting configuration for: * Intent Output Plugin * Barcode Input Plugin * MSR input Plugin * IP Output Plugin * Tokens for IP Output Plugin * Application Association * DCP (Data Capture Plus) */ // SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigIntent = new Bundle(); Bundle bParamsIntent = new Bundle(); bParamsIntent.putString("intent_output_enabled", "true"); bParamsIntent.putString("intent_action", "com.symbol.dwudiusertokens.udi"); bParamsIntent.putString("intent_category", "zebra.intent.dwudiusertokens.UDI"); bParamsIntent.putInt("intent_delivery", 5); //Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast, "3" for start foreground service bConfigIntent.putString("PLUGIN_NAME", "INTENT"); bConfigIntent.putString("RESET_CONFIG", "false"); bConfigIntent.putBundle("PARAM_LIST", bParamsIntent); Bundle bConfigSimulScan = new Bundle(); Bundle bParamsSimulScan = new Bundle(); bParamsSimulScan.putString("simulscan_input_enabled", "true"); bParamsSimulScan.putString("simulscan_input_source", "Imager"); //Supported values: Camera, Imager, Default bParamsSimulScan.putString("simulscan_region_separator", "TAB"); //Supported Values:None, TAB, CR, LF, NONE bParamsSimulScan.putString("simulscan_log_dir", "/storage/zebra/intent/"); bParamsSimulScan.putString("simulscan_enable_timestamp", "true"); Bundle templateParamsBundle = new Bundle(); templateParamsBundle.putString("dynamic_quantity", "99"); bParamsSimulScan.putString("simulscan_template", "UserDefinedQuantity.xml"); // Ex: UserDefinedQuantity.xml, Default - BankCheck.xml, Default - Barcode 1.xml, Default - Barcode 10.xml, Default - Barcode 2.xml, Default - Barcode 4.xml, Default - Barcode 5.xml, Default - BookNumber.xml, Default - DocCap + Optional Barcode.xml, Default - DocCap + Required Barcode.xml, Default - TravelDoc.xml, Default - Unstructured Multi-Line.xml, Default - Unstructured Single Line.xml bParamsSimulScan.putBundle("simulscan_template_params",templateParamsBundle); bConfigSimulScan.putString("PLUGIN_NAME", "SIMULSCAN"); bConfigSimulScan.putString("RESET_CONFIG", "false"); bConfigSimulScan.putBundle("PARAM_LIST", bParamsSimulScan); Bundle bConfigBarcode = new Bundle(); Bundle bParamsBarcode = new Bundle(); bParamsBarcode.putString("scanner_selection","auto"); bParamsBarcode.putString("scanner_input_enabled","true"); bConfigBarcode.putString("PLUGIN_NAME", "BARCODE"); bConfigBarcode.putString("RESET_CONFIG", "false"); bConfigBarcode.putBundle("PARAM_LIST", bParamsBarcode); Bundle bConfigMSR = new Bundle(); Bundle bParamsMSR = new Bundle(); bParamsMSR.putString("msr_input_enabled", "true"); bConfigMSR.putString("PLUGIN_NAME", "MSR"); bConfigMSR.putString("RESET_CONFIG", "false"); bConfigMSR.putBundle("PARAM_LIST", bParamsMSR); Bundle bConfigIPOutput = new Bundle(); Bundle bParamsIPOutput = new Bundle(); bParamsIPOutput.putString("ip_output_enabled", "true"); bParamsIPOutput.putString("ip_output_ip_wedge_enabled", "false"); bParamsIPOutput.putString("ip_output_protocol", "UDP"); //Supported Values: TCP: UDP bParamsIPOutput.putString("ip_output_address", "192.168.0.1"); //Supported Values : IP Address format bParamsIPOutput.putString("ip_output_port", "55555"); //Supported Values : 1 - 65535 bConfigIPOutput.putString("PLUGIN_NAME", "IP"); bConfigIPOutput.putString("RESET_CONFIG", "false"); bConfigIPOutput.putBundle("PARAM_LIST", bParamsIPOutput); Bundle bConfigToken = new Bundle(); Bundle bParamsToken = new Bundle(); bParamsToken.putString("send_tokens_option", "BARCODES_TOKENS"); // Supported Values: DISABLED, TOKENS, BARCODES_TOKENS bParamsToken.putString("token_separator", "LF"); //Supported Values:None, TAB, CR, LF, NONE bParamsToken.putString("multibarcode_separator", "LF"); //Supported Values:None, TAB, CR, LF, NONE Bundle tokenOrder_manufacturing_date_original = new Bundle(); tokenOrder_manufacturing_date_original.putString("name","manufacturing_date_original"); tokenOrder_manufacturing_date_original.putString("enabled","true"); Bundle tokenOrder_expiration_date_original = new Bundle(); tokenOrder_expiration_date_original.putString("name","expiration_date_original"); tokenOrder_expiration_date_original.putString("enabled","true"); Bundle tokenOrder_di = new Bundle(); tokenOrder_di.putString("name","di"); tokenOrder_di.putString("enabled","true"); Bundle tokenOrder_lot_number = new Bundle(); tokenOrder_lot_number.putString("name","lot_number"); tokenOrder_lot_number.putString("enabled","true"); Bundle tokenOrder_serial_number = new Bundle(); tokenOrder_serial_number.putString("name","serial_number"); tokenOrder_serial_number.putString("enabled","true"); Bundle tokenOrder_mpho_lot_number = new Bundle(); tokenOrder_mpho_lot_number.putString("name","mpho_lot_number"); tokenOrder_mpho_lot_number.putString("enabled","true"); Bundle tokenOrder_donation_id = new Bundle(); tokenOrder_donation_id.putString("name","donation_id"); tokenOrder_donation_id.putString("enabled","true"); Bundle tokenOrder_labeler_identification_code = new Bundle(); tokenOrder_labeler_identification_code.putString("name","labeler_identification_code"); tokenOrder_labeler_identification_code.putString("enabled","true"); Bundle tokenOrder_product_or_catalog_number = new Bundle(); tokenOrder_product_or_catalog_number.putString("name","product_or_catalog_number"); tokenOrder_product_or_catalog_number.putString("enabled","true"); Bundle tokenOrder_unit_of_measure_id = new Bundle(); tokenOrder_unit_of_measure_id.putString("name","unit_of_measure_id"); tokenOrder_unit_of_measure_id.putString("enabled","true"); Bundle tokenOrder_quantity = new Bundle(); tokenOrder_quantity.putString("name","quantity"); tokenOrder_quantity.putString("enabled","false"); ArrayList<Bundle> tokenOrderList = new ArrayList<>(); tokenOrderList.add(tokenOrder_manufacturing_date_original); tokenOrderList.add(tokenOrder_expiration_date_original); tokenOrderList.add(tokenOrder_lot_number); tokenOrderList.add(tokenOrder_di); tokenOrderList.add(tokenOrder_serial_number); tokenOrderList.add(tokenOrder_mpho_lot_number); tokenOrderList.add(tokenOrder_donation_id); tokenOrderList.add(tokenOrder_labeler_identification_code); tokenOrderList.add(tokenOrder_product_or_catalog_number); tokenOrderList.add(tokenOrder_unit_of_measure_id); tokenOrderList.add(tokenOrder_quantity); bParamsToken.putParcelableArrayList("token_order", tokenOrderList); bConfigToken.putString("PLUGIN_NAME", "TOKEN"); bConfigToken.putString("OUTPUT_PLUGIN_NAME","IP"); bConfigToken.putString("RESET_CONFIG", "true"); bConfigToken.putBundle("PARAM_LIST", bParamsToken); ArrayList<Bundle> bundlePluginConfig = new ArrayList<>(); bundlePluginConfig.add(bConfigIntent); bundlePluginConfig.add(bConfigBarcode); bundlePluginConfig.add(bConfigSimulScan); bundlePluginConfig.add(bConfigMSR); bundlePluginConfig.add(bConfigIPOutput); bundlePluginConfig.add(bConfigToken); bMain.putParcelableArrayList("PLUGIN_CONFIG", bundlePluginConfig); //AppList[Start] Bundle bundleApp1 = new Bundle(); bundleApp1.putString("PACKAGE_NAME", "com.symbol.emdk.simulscansample1"); bundleApp1.putStringArray("ACTIVITY_LIST", new String[]{ "com.symbol.emdk.simulscansample1.DeviceControl", "com.symbol.emdk.simulscansample1.MainActivity", "com.symbol.emdk.simulscansample1.ResultsActivity", "com.symbol.emdk.simulscansample1.ResultsActivity2", "com.symbol.emdk.simulscansample1.SettingsFragment1"}); Bundle bundleApp2 = new Bundle(); bundleApp2.putString("PACKAGE_NAME", "com.example.intents.datawedgeintent"); bundleApp2.putStringArray("ACTIVITY_LIST", new String[]{ "com.example.intents.datawedgeintent.DeviceControl", "com.example.intents.datawedgeintent.MainActivity", "com.example.intents.datawedgeintent.ResultsActivity", "com.example.intents.datawedgeintent.SettingsFragment1"}); Bundle bundleApp3 = new Bundle(); bundleApp3.putString("PACKAGE_NAME", "com.symbol.pubudu"); bundleApp3.putStringArray("ACTIVITY_LIST", new String[]{"*"}); Bundle bundleApp4 = new Bundle(); bundleApp4.putString("PACKAGE_NAME", "com.symbol.myzebraapp"); bundleApp4.putStringArray("ACTIVITY_LIST", new String[]{"*"}); // ADD APP_LIST BUNDLE(S) INTO THE MAIN BUNDLE bMain.putParcelableArray("APP_LIST", new Bundle[]{ bundleApp1 , bundleApp2 , bundleApp3 , bundleApp4 }); // AppList [End] Bundle bConfigDCP = new Bundle(); Bundle bParamsDCP = new Bundle(); bParamsDCP.putString("dcp_input_enabled", "true"); bParamsDCP.putString("dcp_dock_button_on", "LEFT"); //Supported values: BOTH - Left or Right, LEFT - Left only, RIGHT - Right only bParamsDCP.putString("dcp_start_in", "FULLSCREEN"); //Supported Values: FULLSCREEN, BUTTON, BUTTON_ONLY bParamsDCP.putString("dcp_highest_pos", "10"); //Supported Values: 0 - 100 bParamsDCP.putString("dcp_lowest_pos", "20"); //Supported Values: 0 - 100 bParamsDCP.putString("dcp_drag_detect_time", "501"); //Supported Values: 0 - 1000 bConfigDCP.putString("RESET_CONFIG", "true"); bConfigDCP.putBundle("PARAM_LIST", bParamsDCP); bMain.putBundle("DCP", bConfigDCP); bMain.putString("PROFILE_NAME", "Profile007"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "COMPLETE_RESULT"); //Supported values: NONE, LAST_RESULT, COMPLETE_RESULT iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); //SetConfig [End] this.sendBroadcast(iSetConfig); } private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String action = intent.getAction(); String strFinalResult = ""; String command = intent.getStringExtra("COMMAND"); String profileName = intent.getStringExtra("PROFILE_NAME"); String resultInfo = ""; if (action.equals("com.symbol.datawedge.api.RESULT_ACTION")) { if (intent.hasExtra("RESULT_LIST")) { // returns for COMPLETE_RESULT resultInfo += "ProfileName: " + profileName + "\n"; ArrayList<Bundle> result_list = (ArrayList)intent.getSerializableExtra("RESULT_LIST"); for (Bundle bundleResult : result_list) { resultInfo +="\n\n"; Set<String> keys = bundleResult.keySet(); for (String key : keys) { String val = bundleResult.getString(key); if (val == null) { if (bundleResult.getStringArray(key) != null) { val = ""; for (String s : bundleResult.getStringArray(key)) { val += "" + s + "\n"; } } } resultInfo += key + ": " + val + "\n"; } } } if (command != null) { if (command.equalsIgnoreCase("com.symbol.datawedge.api.SET_CONFIG")) { Log.d("TAG", "#IntentApp# \n\nSetConfig status received:\nResultInfo: \n" + resultInfo); } } } } };

グローバル スキャナ構成の設定

Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","BARCODE"); Bundle bParams = new Bundle(); bParams.putString("scanner_input_enabled", "true"); bParams.putString("configure_all_scanners", "true"); // configure for all scanners bConfig.putBundle("PARAM_LIST", bParams);

プレゼンテーション モードの設定

// MAIN BUNDLE PROPERTIES Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "Profile1"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); // PLUGIN_CONFIG BUNDLE PROPERTIES Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "BARCODE"); bConfig.putString("RESET_CONFIG", "true"); // PARAM_LIST BUNDLE PROPERTIES Bundle bParams = new Bundle(); bParams.putString("scanner_selection_by_identifier", "INTERNAL_IMAGER"); bParams.putString("scanner_input_enabled" , "true"); bParams.putString("aim_type", "4"); // presentation mode bParams.putString("scene_detect_qualifier ", "0"); // 0- None and 1- Proximity Sensor Input … bConfig.putBundle("PARAM_LIST", bParams); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); this.sendBroadcast(i);

文字セット構成

// MAIN BUNDLE PROPERTIES Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "ProfileCharSet"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); // PLUGIN_CONFIG BUNDLE PROPERTIES Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME", "BARCODE"); bConfig.putString("RESET_CONFIG", "true"); // PARAM_LIST BUNDLE PROPERTIES Bundle bParams = new Bundle(); bParams.putString("scanner_selection_by_identifier", "INTERNAL_IMAGER"); bParams.putString("charset_name", "AUTO"); bParams.putString("auto_charset_preferred_order", "GB2312;UTF-8"); bParams.putString("auto_charset_failure_option", "UTF-8"); bConfig.putBundle("PARAM_LIST", bParams); bMain.putBundle("PLUGIN_CONFIG", bConfig); Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); this.sendBroadcast(i);

エンタープライズ キーボード構成の設定

//SetConfig [Start] Bundle bMain = new Bundle(); Bundle bConfigEKB = new Bundle();

Bundle bParamsEKB = new Bundle(); bParamsEKB.putString("ekb_enabled", "true"); // Supported values: true/false Bundle layoutParams = new Bundle(); layoutParams.putString("layout_group", "EKBCustomLayouts"); layoutParams.putString("layout_name", "qwerty"); bParamsEKB.putBundle("ekb_layout", layoutParams); //bParamsEKB.putBundle("ekb_layout", null); // To set to default bConfigEKB.putString("RESET_CONFIG", "false"); bConfigEKB.putBundle("PARAM_LIST", bParamsEKB); bMain.putBundle("EKB", bConfigEKB); bMain.putString("PROFILE_NAME", "ZebraEKB"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Intent iSetConfig = new Intent(); iSetConfig.setAction("com.symbol.datawedge.api.ACTION"); iSetConfig.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); iSetConfig.putExtra("SEND_RESULT", "LAST_RESULT"); iSetConfig.putExtra("COMMAND_IDENTIFIER", "INTENT_API"); //SetConfig [End] this.sendBroadcast(iSetConfig);

マルチスキャナ モードの設定

マルチスキャナ モードを設定および構成します。スキャナ パラメータ リストは、ArrayList が渡されることによって複数の構成をサポートするように拡張されています。単一のスキャナをサポートしている場合は、スキャナ パラメータ リストとしてバンドル データ タイプが渡されます。

Bundle bMain = new Bundle(); bMain.putString("PROFILE_NAME", "Profile009"); bMain.putString("PROFILE_ENABLED", "true"); bMain.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST"); Bundle bConfig = new Bundle(); bConfig.putString("PLUGIN_NAME","BARCODE"); bConfig.putString("RESET_CONFIG","true"); bConfig.putString("SCANNER_INPUT_ENABLED","true"); //LEFT, RIGHT, CENTER, GUN, PROXIMITY //AUTO,INTERNAL_IMAGER,INTERNAL_LASER,INTERNAL_CAMERA,SERIAL_SSI,BLUETOOTH_SSI,BLUETOOTH_RS6000,BLUETOOTH_DS2278,BLUETOOTH_DS3678,PLUGABLE_SSI,PLUGABLE_SSI_RS5000,USB_SSI_DS3608 Bundle scanner1Params = new Bundle(); scanner1Params.putString("scanner_selection_by_identifier", "INTERNAL_IMAGER"); scanner1Params.putStringArray("scanner_trigger_resource", new String[]{"LEFT", "RIGHT"}); //Required triggers scanner1Params.putString("decoder_code11", "true"); scanner1Params.putString("decoder_code39", "false"); scanner1Params.putString("picklist", "1"); Bundle scanner2Params = new Bundle(); scanner2Params.putString("scanner_selection_by_identifier", "BLUETOOTH_RS6000"); scanner2Params.putStringArray("scanner_trigger_resource", new String[]{"CENTER"}); //Required triggers scanner2Params.putString("decoder_code11", "true"); scanner2Params.putString("decoder_code128", "false"); scanner2Params.putString("picklist", "2"); ArrayList<Bundle> scannerParamList = new ArrayList<>(); scannerParamList.add(scanner1Params); scannerParamList.add(scanner2Params); bConfig.putParcelableArrayList("PARAM_LIST", scannerParamList); bMain.putBundle("PLUGIN_CONFIG", bConfig); //true, false Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_CONFIG", bMain); i.putExtra("SEND_RESULT","LAST_RESULT"); i.putExtra("COMMAND_IDENTIFIER", "SET_CONFIG"); this.sendBroadcast(i);

関連項目:

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

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

インテント | Android 開発者

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

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