SET_IGNORE_DISABLED_PROFILES
在 DataWedge 6.8 中引入。
阻止 DataWedge 切换到已禁用的配置文件(包括 Profile0)。适用于通过 DataWedge 设置面板,以及使用 SWITCH_TO_PROFILE API 以编程方式手动启动的配置文件切换。
此 API 控制的设置可以帮助解决在使用 Intent 切换配置文件时,有时会在 Android 设备中出现的计时问题。
函数原型
Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_IGNORE_DISABLED_PROFILES", "true");
参数
ACTION [字符串]:"com.symbol.datawedge.api.ACTION"
EXTRA_DATA [字符串]:"com.symbol.datawedge.api.SET_IGNORE_DISABLED_PROFILES"
可能的值:[字符串]:["true","false"]
返回值
返回活动 DataWedge 配置文件名称的字符串
EXTRA NAME:"com.symbol.datawedge.api.SET_IGNORE_DISABLED_PROFILES"
EXTRA TYPE [字符串]:[ ]
将错误和调试消息记录到可通过 logcat 命令查看和过滤的 Android 日志记录系统。从 ADB Shell 使用 logcat 查看日志消息:
$ adb logcat -s DWAPI
记录无效操作和参数的错误消息。
示例代码
//Sample code for sending the intent to SET the setting Intent i = new Intent(); i.setAction("com.symbol.datawedge.api.ACTION"); i.putExtra("com.symbol.datawedge.api.SET_IGNORE_DISABLED_PROFILES","true"); // request and identify the result code i.putExtra("SEND_RESULT","true"); i.putExtra("COMMAND_IDENTIFIER","123456789");//user specified unique id this.sendBroadcast(i); // Register/unregister broadcast receiver and filter results void registerReceivers() { IntentFilter filter = new IntentFilter(); filter.addAction("com.symbol.datawedge.api.RESULT_ACTION"); filter.addCategory("android.intent.category.DEFAULT"); registerReceiver(mybroadcastReceiver, filter); } void unRegisterReceivers(){ unregisterReceiver(mybroadcastReceiver); } //receiving the results BroadcastReceiver mybroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { String command = intent.getStringExtra("COMMAND"); String commandIdentifier = intent.getStringExtra("COMMAND_IDENTIFIER"); String result = intent.getStringExtra("RESULT"); Bundle bundle; String resultInfo = ""; if(intent.hasExtra("RESULT_INFO")){ bundle = intent.getBundleExtra("RESULT_INFO"); Set<String> keys = bundle.keySet(); for (String key: keys) { Object object = bundle.get(key); if(object instanceof String){ resultInfo += key + ": "+object+ "\n"; } else if(object instanceof String[]){ String[] codes = (String[])object; for(String code : codes){ resultInfo += key + ": "+code+ "\n"; } } } } String text = "Command: "+command+"\n" + "Result: " +result+"\n" + "Result Info: " +resultInfo + "\n" + "CID:"+commandIdentifier; Log.d(TAG,text); } };
另请参阅:
Zebra 支持中心 | 集成商指南、产品手册、软件下载和支持
LaunchPad | Zebra 开发人员社区
Intent | Android 开发人员
Intent 和 Intent 过滤器 | Android 开发人员
Android Intent | 教程