Android 设备接入扫码枪,Android 设备接入扫码枪

简单理解

扫码枪 是一个文本输入设备,相当于一个键盘.

扫码枪 有不同的模式 ,可以设置扫描条码之后带出的操作.

一般 1.可以直接切换到下一个焦点 (输入框)

2.可以带出回车键

3.还有其他很多操作.

这是得力扫码枪的一个文档_http://www.nbdeli.com/images/goods_file0/2017/02/14865619937163.pdf

我使用时,设置成了带出回车键. 效果和手动按enter一样的.这样可以使用android监听enter键的api.

回车键在Android 对应KeyEvent.KEYCODE.ENTER

EditText需要设置 setOnEditorActionListener(TextView.OnEditorActionListener  eal  ) 它会监听enter事件 扫码枪扫到条码之后 会走到这里.

看一下回调函数TextView.OnEditorActionListener 的 public boolean onEditorAction(TextView v, int actionId, KeyEvent event)

v:getText()可以取出条码的文本和EditText上立刻显示的一样,当然你也可以使用EditText取出来  不过我们可以加工这个字符串 重新设置给EditText.

actionId: 作标识,是跟EditorInfo这里的值对比可以判断执行了什么动作

event: KeyEvent 事件

onEditorAction 这个方法会被多次调用 因为扫码枪也有DOWN事件和UP事件.如果要对文本进行加工最好只在一个事件中操作,否则可能不是你想要的结果.

示例:

/**

* 扫码枪 enter 监听

*/

EditText etCode;

etCode.setOnEditorActionListener(new TextView.OnEditorActionListener() {

@Override

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {if (event.getAction() == KeyEvent.ACTION_UP) {

//扫描到的数据

String s = v.getText().toString().trim();

//拿到数据后做其他操作

}

return true;

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
连接扫码需要先确定扫码的接口类型,一般有USB接口和蓝牙接口。如果是USB接口,可以通过USB OTG线将扫码连接到Android设备上;如果是蓝牙接口,可以在Android设备中搜索扫码并进行配对连接。 在Android Studio中,可以使用Android SDK中提供的API来读取扫码输入的数据。具体步骤如下: 1. 添加权限:在AndroidManifest.xml文件中添加以下权限: ```xml <uses-permission android:name="android.permission.USB_PERMISSION" /> <uses-feature android:name="android.hardware.usb.host" /> ``` 2. 创建USB设备连接:使用UsbManager类创建USB设备连接,并请求USB设备权限。 ```java UsbManager usbManager = (UsbManager) getSystemService(Context.USB_SERVICE); HashMap<String, UsbDevice> deviceList = usbManager.getDeviceList(); Iterator<UsbDevice> deviceIterator = deviceList.values().iterator(); while (deviceIterator.hasNext()) { UsbDevice device = deviceIterator.next(); if (device.getVendorId() == VENDOR_ID && device.getProductId() == PRODUCT_ID) { PendingIntent permissionIntent = PendingIntent.getBroadcast(this, 0, new Intent(ACTION_USB_PERMISSION), 0); usbManager.requestPermission(device, permissionIntent); } } ``` 3. 接收扫码输入数据:使用UsbDeviceConnection类接收扫码输入数据。 ```java UsbDeviceConnection connection = usbManager.openDevice(device); if (connection != null && connection.claimInterface(interface, true)) { byte[] buffer = new byte[1024]; int length = connection.bulkTransfer(endpoint, buffer, buffer.length, TIMEOUT); if (length >= 0) { String data = new String(buffer, 0, length); // 处理扫码输入数据 } } ``` 以上是USB接口的连接方式,如果是蓝牙接口,可以使用BluetoothAdapter类进行连接。需要注意的是,不同型号的扫码连接方式可能会有所不同,具体请参考扫码的使用说明书。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值