EMDK扫描仪将扫描值放入输入文本

时间:2016-07-13 14:01:38

标签: android barcode-scanner motorola-emdk

我有使用EMDK的应用程序,我的测试设备是TC55。 我成功创建了启用和接收扫描数据的代码。但我有不同的问题 - 当我扫描条形码并在我的片段扫描值中看到EditText字段时,ALWAYS会在那里添加。即使输入字段没有焦点。

我不想要这种行为 - 我希望扫描结果只传递给应用程序的后端方法,而不是输入文本字段。

请帮助

3 个答案:

答案 0 :(得分:2)

默认情况下,Zebra Technologies的安卓设备(如TC55)配置为使用DataWedge将条形码数据作为键盘输入事件插入。
这样,没有特定的编码,您的应用程序就可以接收条形码数据。

DataWedge包含一个配置文件系统,您可以在其中将应用程序包名称和活动与特定配置文件相关联,并将数据通过Intents发送到您的应用程序。您可以在Zebra developer portal上找到更多相关信息,尤其是how to configure DataWedge

最重要的是,Zebra Technologies会定期发布适用于Java和Xamarin的EMDK,以支持从Android应用程序自动执行这些配置,并提供a full Barcode Scanning API that allows your application to take full control of the hardware barcode scanner

免责声明:我为Zebra Technologies工作。

答案 1 :(得分:1)

按照@GustavoBaiocchiCosta的回答,这里是如何通过意图禁用击键:

public void setKeystrokeConfig(boolean enabled) {
    // Keystroke plugin properties bundle
    Bundle bParams = new Bundle();
    bParams.putString("keystroke_output_enabled", enabled ? "true" : "false"); // <-- 
    bParams.putString("keystroke_action_char", "9");
    bParams.putString("keystroke_delay_extended_ascii", "500");
    bParams.putString("keystroke_delay_control_chars", "800");
    
    // Keystroke plugin bundle
    Bundle bConfig = new Bundle();
    bConfig.putString("PLUGIN_NAME", "KEYSTROKE");
    bConfig.putBundle("PARAM_LIST", bParams);
    
    // Main bundle properties
    Bundle configBundle = new Bundle();
    configBundle.putString("PROFILE_NAME", "Profile12");
    configBundle.putString("PROFILE_ENABLED", "true");
    configBundle.putString("CONFIG_MODE", "CREATE_IF_NOT_EXIST");
    configBundle.putBundle("PLUGIN_CONFIG", bConfig);
    
    // Send intent to DataWedge
    Intent i = new Intent();
    i.setAction("com.symbol.datawedge.api.ACTION");
    i.putExtra("com.symbol.datawedge.api.SET_CONFIG", configBundle);
    i.putExtra("SEND_RESULT", "true");
    i.putExtra("COMMAND_IDENTIFIER", "KEYSTROKE_API");
    this.sendBroadcast(i);
}

这可以防止使用条形码内容填充聚焦的输入字段。

查看API here

答案 2 :(得分:0)

在使用Xamarin EMDK几个月后,我终于成功删除了这个功能。只需进入您的个人资料即可添加按键功能并禁用所有按键功能。