切换扫描器

DataWedge 7.4

SWITCH_SCANNER

在 DataWedge 6.5 中引入。

用于在运行时切换到特定扫描器,在启动应用程序时允许根据应用程序、需求或情况选择最佳扫描设备。在运行时,扫描器必须在设备上可用

SWITCH_SCANNER_EX 额外项(在 DataWedge 6.6 中新增)允许通过在扫描器标识符表中定义的友好名称选择扫描器。

函数原型

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

参数

ACTION [字符串]:"com.symbol.datawedge.api.ACTION"

EXTRA_DATA [字符串]:"com.symbol.datawedge.api.SWITCH_SCANNER"

EXTRA_DATA [字符串]:"<扫描器索引>" - 要在活动配置文件中使用的扫描器的索引号

使用 ENUMERATE_SCANNERS 检索扫描器的索引

扫描器标识符

扫描器标识符允许通过友好名称而非索引号标识扫描器。

SCANNER_IDENTIFIER [字符串]:在设备中支持的每个扫描器的每个扫描器信息捆绑包中。DataWedge 6.5 及更高版本支持这两个参数;如果在代码中也引用了索引,则扫描器标识符值优先。

可能的值

  • AUTO - 自动扫描器选择
  • INTERNAL_IMAGER - 内置成像器扫描器
  • INTERNAL_LASER - 内置激光扫描器
  • INTERNAL_CAMERA - 内置摄像头扫描器
  • SERIAL_SSI - 用于 ET50/ET55 的可插入 Z 式背面扫描器
  • BLUETOOTH_SSI - RS507 蓝牙扫描器
  • BLUETOOTH_RS6000 - RS6000 蓝牙扫描器
  • BLUETOOTH_DS3678 - DS3678 蓝牙扫描器
  • PLUGABLE_SSI - 串行 SSI 扫描器 RS429(与 WT6000 一起使用)
  • PLUGABLE_SSI_RS5000 - 串行 SSI 扫描器 RS5000(与 WT6000 一起使用)
  • USB_SSI_DS3608 - DS3608 可插入 USB 扫描器

结果代码

如果应用程序包括 Intent 额外项 RECEIVE_RESULTCOMMAND_IDENTIFIER 以使应用程序能够使用 DataWedge 结果 Intent 机制获取结果,则 DataWedge 返回以下错误代码。请参阅以下示例

  • DATAWEDGE_DISABLED - DataWedge 处于禁用状态
  • NO_ACTIVE_PROFILE -
  • PARAMETER_INVALID - 给定扫描器参数无效
  • PLUGIN_DISABLED - 扫描器插件处于禁用状态
  • PROFILE_DISABLED - 配置文件处于禁用状态
  • SCANNER_ALREADY_ENABLED - 扫描器处于禁用状态
  • SCANNER_DISABLE_FAILED - 扫描器处于禁用状态
  • SCANNER_NOT_CONNECTED -

有关更多信息,另请参阅结果代码指南

返回值

将错误和调试消息记录到可通过 logcat 命令查看和过滤的 Android 日志记录系统。从 ADB Shell 使用 logcat 查看日志消息:

$ adb logcat -s DWAPI

记录无效操作、缺少参数或其他故障的错误消息。


示例代码

下面的代码显示如何传递 Intent 以从当前扫描器更改为扫描器“3”。要验证切换的结果(或如果预期会出现错误),请包括 Intent 额外项 RECEIVE_RESULTCOMMAND_IDENTIFIER 以获取结果。

String scannerIndex = “3”; // create the intent and action Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SWITCH_SCANNER", scannerIndex); // generate result codes i.putExtra("RECEIVE_RESULT","true"); i.putExtra("COMMAND_IDENTIFIER","123456789"); // send the intent this.sendBroadcast(i);

备注

(无)


另请参阅

Zebra 支持中心 | 集成商指南、产品手册、软件下载和支持

LaunchPad | Zebra 开发人员社区

Intent | Android 开发人员

Intent 和 Intent 过滤器 | Android 开发人员

Android Intent | 教程