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_RESULT
和 COMMAND_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_RESULT
和 COMMAND_IDENTIFIER
以获取结果。
String scannerIndex = “3”; // create the intent and action Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SWITCH_SCANNER", scannerIndex); // generate result codes i.putExtra("RECEIVE_RESULT","true"); i.putExtra("COMMAND_IDENTIFIER","123456789"); // send the intent this.sendBroadcast(i);
备注
(无)
另请参阅:
Zebra 支持中心 | 集成商指南、产品手册、软件下载和支持
LaunchPad | Zebra 开发人员社区
Intent | Android 开发人员
Intent 和 Intent 过滤器 | Android 开发人员
Android Intent | 教程