You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zebra Datawedge Intent配置Bundle的正确顺序及解码参数设置方法

正确配置方式

所有解码器相关参数不需要新建额外Bundle,直接添加到你现有代码中的bParams(也就是PARAM_LIST对应的Bundle)即可。PARAM_LIST本身就是用来承载BARCODE插件下所有扫描配置参数的容器,不管是全局扫描开关还是具体码制的规则配置都直接放在这个层级。

完整修改后的代码示例

public static Intent Init()
{
    Bundle bMain = new Bundle();

    bMain.PutString("PROFILE_NAME", "SorterApp");
    bMain.PutString("PROFILE_ENABLED", "true");
    bMain.PutString("CONFIG_MODE", "UPDATE");

    Bundle bConfig = new Bundle();
    bConfig.PutString("PLUGIN_NAME", "BARCODE");
    bConfig.PutString("RESET_CONFIG", "false");

    Bundle bParams = new Bundle();
    bParams.PutString("scanner_input_enabled", "true");
    
    // 配置Codabar码
    bParams.PutString("decoder_codabar", "true"); // 启用Codabar解码
    bParams.PutString("decoder_codabar_length1", "4"); // 最小长度
    bParams.PutString("decoder_codabar_length2", "20"); // 最大长度
    
    // 如需启用I2of5码也按同样格式添加
    bParams.PutString("decoder_i2of5", "true");
    // 对应I2of5的长度配置也是同样逻辑:bParams.PutString("decoder_i2of5_length1", "x")

    bConfig.PutBundle("PARAM_LIST", bParams);

    bMain.PutBundle("PLUGIN_CONFIG", bConfig);

    Intent dataWedgeIntent = new Intent();
    dataWedgeIntent.SetAction("com.symbol.datawedge.api.ACTION");
    dataWedgeIntent.PutExtra("com.symbol.datawedge.api.SET_CONFIG", bMain);

    return dataWedgeIntent;
}

配置层级结构说明

你传递的Bundle层级是固定的,不需要额外新增层级:

  • 顶层bMain:存储配置文件名称、启用状态、更新模式、插件配置集合
    • 子BundlebConfig(对应key PLUGIN_CONFIG):指定当前配置作用于BARCODE插件、是否重置原有该插件下的配置
      • 子BundlebParams(对应key PARAM_LIST):所有BARCODE插件的具体参数都放在这,包括全局开关、各码制启用状态、各码制长度/校验规则等

注意事项

所有参数的值都需要用字符串类型传递,哪怕是长度这种数字值也要转为字符串传入,否则配置不会生效。其他码制的配置也都遵循同样的规则,直接在bParams中添加对应参数即可。

内容的提问来源于stack exchange,提问作者Serve Laurijssen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 00:39:04