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 | 教程