Set Config

DataWedge 6.4

SET_CONFIG

Introduced in DataWedge 6.4.

Used to create, update or replace a DataWedge Profile and its settings. Supports nested bundles. To create a Profile without configuring its settings parameters, see CREATE_PROFILE.

Function Prototype

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

Parameters

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

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

BUNDLE: <mainbundle> (see parameters below)

MAIN BUNDLE

The main SetConfig bundle includes the following properties:

  • PROFILE_NAME [String]: The name of the Profile on which to perform action(s)
  • CONFIG_MODE [String]: (Default=OVERWRITE)
    • CREATE_IF_NOT_EXIST: Creates the Profile if string in PROFILE_NAME is not present on device
    • OVERWRITE: If Profile exists, resets all options to default, then configures specified settings
    • UPDATE: Updates only specified settings
  • PROFILE_ENABLED [String]: Optional; Controls whether to enable (true) or disable (false) a Profile (default=true). If not specified, no change is made to the Profile state.
  • PLUGIN_CONFIG [Bundle]: A bundle (nested within the main bundle) that contains settings of a specific Plug-in
  • APP_LIST [Array]: List of applications and/or activities to associate with the Profile

PLUGIN_CONFIG BUNDLE

The PLUGIN_CONFIG bundle is configured using the following properties:

RESET_CONFIG [String]: Optional

  • True (Default) – Clear any existing configuration and create a new configuration with the specified parameter values
  • False – Update the existing values and add values not already in the configuration

PLUGIN_NAME [String]: Name of the Plug-in to configure. See tables below for PARAM_LIST values.

  • BARCODE input
  • INTENT output
  • KEYSTROKE output

To be implemented in the future:

  • ADF (advanced data formatting) processing
  • BDF (basic data formatting) processing
  • DCP input
  • IP output
  • MSR input
  • SIMULSCAN input

Notes:

  • Plug-in names are case sensitive.
  • Each intent involving a Plug-in requires a separate intent Action.

PARAM_LIST [Bundle]: A parameter list bundle nested within the PLUGIN_CONFIG bundle. Includes the list of parameters that should be updated under the specified Plug-in. Setting an empty string in any parameter value resets that parameter to its default setting.

PARAM_LIST BUNDLE

The PARAM_LIST bundle is configured by specifying the parameter name and value from the table below. Applies to parameters matching the PLUGIN_NAME specified in PLUGIN_CONFIG bundle.

  • BARCODE – Use values from the Scanner Input Parameters table below; specify decoder and other input settings as EXTRA_DATA in the PARAM_LIST nested bundle

  • INTENT - Use values as indicated below:

    intent_output_enabled [string] <true/false>

    intent_action [string]

    intent_category [string]

    intent_delivery [string] Use "0" for Start Activity, "1" for Start Service, "2" for Broadcast

  • KEYSTROKE - Use values from the Keystroke Output Parameters table below; specify output settings as EXTRA_DATA in the PARAM_LIST nested bundle

APP_LIST

An array of bundles that contains a set of PACKAGE_NAMES and an ACTIVITY_LIST to be associated with the Profile.

APP_LIST BUNDLE

Contains the following properties:

PACKAGE_NAME [String]: ex: "com.symbol.emdk.barcodesample1" or a wildcard (*) character

ACTIVITY_LIST [List]: A list of activities for the PACKAGE_NAME. Wildcard (*) character also supported.

Return Values

(None)

Error and debug messages are logged to the Android logging system, which can be viewed and filtered by the logcat command. Use logcat from an ADB shell to view the log messages:


$ adb logcat -s DWAPI

Error messages are logged for invalid actions and parameters

Example

//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","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.
// 
//PUT bParams into bConfig
bConfig.putBundle("PARAM_LIST", bParams);

//PUT bConfig into bMain
bMain.putBundle("PLUGIN_CONFIG", bConfig);

// APP_LIST BUNDLES
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[]{"*"});

//PUT THEM ALL TOGETHER 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);

Scanner Input Parameters

Important: Support for decode parameters can vary depending on the scanning device selected. For device-specific support notes, please refer to the Integrator Guide that accompanied the unit.

All parameters are case sensitive.

Param name

Param values

scanner_input_enabled

false

true

trigger-wakeup

false

true

scanner_selection

auto

0–n (valid scanner index from ENUMERATE_SCANNERS)

decoder_upca

false

true

decoder_upce0

false

true

decoder_ean13

false

true

decoder_ean8

false

true

decoder_code128

false

true

decoder_code39

false

true

decoder_i2of5

false

true

decoder_gs1_databar

false

true

decoder_gs1_databar_lim

false

true

decoder_gs1_databar_exp

false

true

decoder_datamatrix

false

true

decoder_qrcode

false

true

decoder_pdf417

false

true

decoder_composite_ab

false

true

decoder_composite_c

false

true

decoder_microqr

false

true

decoder_aztec

false

true

decoder_maxicode

false

true

decoder_micropdf

false

true

decoder_uspostnet

false

true

decoder_usplanet

false

true

decoder_uk_postal

false

true

decoder_japanese_postal

false

true

decoder_australian_postal

false

true

decoder_canadian_postal

false

true

decoder_dutch_postal

false

true

decoder_us4state

false

true

decoder_us4state_fics

false

true

decoder_codabar

false

true

decoder_msi

false

true

decoder_code93

false

true

decoder_trioptic39

false

true

decoder_d2of5

false

true

decoder_chinese_2of5

false

true

decoder_korean_3of5

false

true

decoder_code11

false

true

decoder_tlc39

false

true

decoder_mailmark

false

true

decoder_hanxin

false

true

decoder_signature

false

true

decoder_webcode

false

true

decoder_matrix_2of5

false

true

decoder_upce1

false

true

decoder_upca_report_check_digit

false

true

decoder_upca_preamble

0 - Preamble None

1 - Preamble Sys Char

2 - Preamble Country and Sys Char

decoder_upce0_report_check_digit

false

true

decoder_upce0_preamble

0 - Preamble None

1 - Preamble Sys Char

2 - Preamble Country and Sys Char

decoder_upce0_convert_to_upca

false

true

decoder_ean8_convert_to_ean13

false

true

decoder_code128_length1

Integer from 0–55

decoder_code128_length2

Integer from 0–55

decoder_code128_redundancy

false

true

decoder_code128_enable_plain

false

true

decoder_code128_enable_ean128

false

true

decoder_code128_enable_isbt128

false

true

decoder_code128_isbt128_concat_mode

0 - Concat Mode Never

1 - Concat Mode Always

2 - Concat Mode Auto

decoder_code128_check_isbt_table

false

true

decoder_code128_security_level

0 - Security Level 0

1 - Security Level 1

2 - Security Level 2

3 - Security Level 3

code128_enable_marginless_decode

false

true

code128_ignore_fnc4

false

true

decoder_code39_length1

Integer from 0–55

decoder_code39_length2

Integer from 0–55

decoder_code39_verify_check_digit

false

true

decoder_code39_report_check_digit

false

true

decoder_code39_full_ascii

false

true

decoder_code39_redundancy

false

true

decoder_code39_convert_to_code32

false

true

decoder_code39_report_code32_prefix

false

true

decoder_code39_security_level

0 - Security Level 0

1 - Security Level 1

2 - Security Level 2

3 - Security Level 3

code39_enable_marginless_decode

false

true

decoder_i2of5_length1

Integer from 0–55

decoder_i2of5_length2

Integer from 0–55

decoder_i2of5_redundancy

false

true

decoder_i2of5_check_digit

0 - No Check Digit

1 - USS Check Digit

2 - OPCC Check Digit

decoder_i2of5_report_check_digit

false

true

decoder_itf14_convert_to_ean13

false

true

decoder_i2of5_security_level

0 - Security Level 0

1 - Security Level 1

2 - Security Level 2

3 - Security Level 3

i20f5_enable_marginless_decode

false

true

decoder_gs1_lim_security_level

1 - Security Level 1

2 - Security Level 2

3 - Security Level 3

4 - Security Level 4

decoder_composite_ab_ucc_link_mode

0 - Link Flag Ignored

1 - Always Linked

2 - Auto Discriminate

decoder_uk_postal_report_check_digit

false

true

decoder_codabar_length1

Integer from 0–55

decoder_codabar_length2

Integer from 0–55

decoder_codabar_redundancy

false

true

decoder_codabar_clsi_editing

false

true

decoder_codabar_notis_editing

false

true

decoder_msi_length1

Integer from 0–55

decoder_msi_length2

Integer from 0–55

decoder_msi_redundancy

false

true

decoder_msi_check_digit

0 - One Check Digit

1 - Two Check Digit

decoder_msi_check_digit_scheme

0 - Mod-11-10

1 - Mod-10-10

decoder_msi_report_check_digit

false

true

decoder_code93_length1

Integer from 0–55

decoder_code93_length2

Integer from 0–55

decoder_code93_redundancy

false

true

decoder_trioptic39_redundancy

false

true

decoder_d2of5_length1

Integer from 0–55

decoder_d2of5_length2

Integer from 0–55

decoder_d2of5_redundancy

false

true

decoder_code11_length1

Integer from 0–55

decoder_code11_length2

Integer from 0–55

decoder_code11_redundancy

false

true

decoder_code11_verify_check_digit

0 - No Check Digit

1 - 1 Check Digit

2 - 2 Check Digits

decoder_code11_report_check_digit

false

true

decoder_hanxin_inverse

0 - Disable

1 - Enable

2 - Auto

decoder_matrix_2of5_length1

Integer from 0–55

decoder_matrix_2of5_length2

Integer from 0–55

decoder_matrix_2of5_redundancy

false

true

decoder_matrix_2of5_report_check_digit

false

true

decoder_matrix_2of5_verify_check_digit

false

true

decoder_upce1_report_check_digit

false

true

decoder_upce1_preamble

0 - Preamble None

1 - Preamble Sys Char

2 - Preamble Country and Sys Char

decoder_upce1_convert_to_upca

false

true

upcean_security_level

0 - Level 0

1 - Level 1

2 - Level 2

3 - Level 3

upcean_supplemental2

false

true

upcean_supplemental5

false

true

upcean_supplemental_mode

0 - No Supplementals

1 - Supplemental Always

2 - Supplemental Auto

3 - Supplemental Smart

4 - Supplemental 378-379

5 - Supplemental 978-979

6 - Supplemental 414-419-434-439

7 - Supplemental 977

upcean_retry_count

Integer from 2 to 20

upcean_random_weight_check_digit

false

true

upcean_linear_decode

false

true

upcean_bookland

false

true

upcean_coupon

false

true

upcean_coupon_report

0 - Old Coupon Report Mode

1 - New Coupon Report Mode

2 - Both Coupon Report Modes

upcean_ean_zero_extend

false

true

upcean_bookland_format

0 - Format ISBN-10

1 - Format ISBN-13

databar_to_upc_ean

false

true

upc_enable_marginless_decode

false

true

aim_mode

on - On

off - Off

beam_timer

Integer from 0–60000

Adaptive_Scanning

1 - Disable

0 - Enable

Beam_Width

0 - Narrow

1 - Normal

2 - Wide

power_mode

0 - Low Power Mode

1 - Optimized Power Mode

2 - High Power Mode

3 - Always On

mpd_mode

0 - Disable Mobile Phone Display Mode

3 - Enable Mobile Phone Display Mode

reader_mode

7 - Presentation Mode

0 - Triggered Mode

linear_security_level

1 - Security Short Or Codabar

2 - Security All Twice

3 - Security Long And Short

4 - Security All Thrice

picklist

0 - Disabled

1 – Enabled/HW picklist

2 – Software Picklist

aim_type

0 - Trigger

1 - Timed Hold

2 - Timed Release

3 - Press And Release

5 - Continuous Read

aim_timer

Integer from 0–60000

same_barcode_timeout

Integer from 0–5000

different_barcode_timeout

Integer from 0–5000

illumination_mode

off - Off

torch - On

lcd_mode

0 - Disabled

3 - Enabled

low_power_timeout

Integer from 0–1000

delay_to_low_power_mode

16 - 1 Second

29 - 30 Seconds

32 - 1 Minute

37 - 5 Minutes

illumination_brightness

Integer from 0–10

inverse_1d_mode

0 - Disable

1 - Enable

2 - Auto

viewfinder_size

Integer from 0–100

viewfinder_posx

Integer from 0–100

viewfinder_posy

Integer from 0–100

1d_marginless_decode_effort_level

0 - Level 0

1 - Level 1

2 - Level 2

3 - Level 3

poor_quality_bcdecode_effort_level

0 - Level 0

1 - Level 1

2 - Level 2

3 - Level 3

charset_name

ISO-8859-1 - ISO-8859-1

Shift_JIS - Shift_JIS

UTF-8 - UTF-8

viewfinder_mode

1 - Viewfinder Enabled

2 - Static Reticle

code_id_type

0 - Code Id Type None

1 - Code Id Type Aim

2 - Code Id Type Symbol

volume_slider_type

0 - Ringer

1 - Music and Media

2 - Alarms

3 - Notification

decode_audio_feedback_uri

URI – Can be a query of the available URIs from RingToneManager

decode_haptic_feedback

false

true

bt_disconnect_on_exit

false

true

connection_idle_time

Integer from 0–1800

establish_connection_time

Integer from 30–60

remote_scanner_audio_feedback_mode

Integer from 0–3

remote_scanner_led_feedback_mode

Integer from 0–3

display_bt_address_barcode

false

true

good_decode_led_timer

Integer from 0–1000

decoding_led_feedback

false

true

decoder_usplanet_report_check_digit

false

true

Important: Support for decode parameters can vary depending on the scanning device selected. For device-specific support notes, please refer to the Integrator Guide that accompanied the unit.


Keystroke Output Parameters

Param name

Param values

keystroke_output_enabled

false

true

keystroke_action_char

NONE - ASCII_NO_VALUE

TAB - ASCII_TAB_VALUE

LF - ASCII_LF_VALUE

CR - ASCII_CR_VALUE

keystroke_delay_extended_ascii

Integer from 0–1000

keystroke_delay_control_chars

Integer from 0–1000


SEE ALSO:

Zebra Support Central | Integrator Guides, Product Manuals, Software Downloads and Support

LaunchPad | Zebra Developer Community

Intent | Android Developers

Intents and Intent Filters | Android Developers

Android Intents | Tutorial