获取扫描器状态

DataWedge 7.4

GET_SCANNER_STATUS

在 DataWedge 6.5 中引入。

返回 DataWedge 当前选择作为默认扫描器的扫描器的状态。

函数原型

Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.GET_SCANNER_STATUS", "");

参数

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

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

EXTRA VALUE:空字符串

返回值

返回活动 DataWedge 配置文件名称的字符串

EXTRA NAME:"com.symbol.datawedge.api.RESULT_SCANNER_STATUS"

EXTRA TYPE [字符串]:[ ] 可能的值

  • WAITING - 扫描器已准备好进行触发
  • SCANNING - 扫描器正在发射扫描器光束
  • DISABLED - 扫描器处于禁用状态
  • CONNECTED - 外部(蓝牙或串行)扫描器已连接
  • DISCONNECTED - 外部扫描器已断开连接

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

$ adb logcat -s DWAPI

记录无效操作和参数的错误消息。

示例代码

查询扫描器状态

//Sending the intent to query scanner status Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.GET_SCANNER_STATUS",""); i.putExtra("SEND_RESULT","true"); i.putExtra("com.symbol.datawedge.api.RESULT_CATEGORY","android.intent.category.DEFAULT"); this.sendBroadcast(i);

注册以接收查询结果

private void registerReceivers(){ IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory(Intent.CATEGORY_DEFAULT); registerReceiver(receiver,filter); }

接收查询结果

// Receiving the results ResultIntentReceiver receiver = new ResultIntentReceiver(); class ResultIntentReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(intent.hasExtra("com.symbol.datawedge.api.RESULT_SCANNER_STATUS")) { String scannerStatus = intent.getStringExtra("com.symbol.datawedge.api.RESULT_SCANNER_STATUS"); Log.d(TAG,"Scanner status:"+scannerStatus); } } }

撤消注册(以释放资源)

private void unRegisterReceivers(){ unregisterReceiver(receiver); }

另请参阅

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

LaunchPad | Zebra 开发人员社区

Intent | Android 开发人员

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

Android Intent | 教程