参考文档:扫码器使用指南

一、设置接收模式

方法一:在“设置 ”->“扫码与键盘 ”中修改为“不输出 ”+“广播输出 ”。

方法二(建议):action:com.sunmi.scanner.ACTION_BAR_DEVICES_SETTING

//红外扫码设置接收模式
//方法二(建议):action:com.sunmi.scanner.ACTION_BAR_DEVICES_SETTING
Intent intent = new Intent();
intent.setAction("com.sunmi.scanner.ACTION_BAR_DEVICES_SETTING");
intent.putExtra("name","Point of Sale Fixed Barcode Scanner.");
intent.putExtra("pid",9492);
intent.putExtra("vid",1529);
intent.putExtra("type",2); //1 KeyEvent 输出 2 广播输出
intent.putExtra("toast",true);
context.sendBroadcast(intent);

二、通过广播接收扫码内容

监听⼴播:"com.sunmi.scanner.ACTION_DATA_CODE_RECEIVED"

private static final String ACTION_DATA_CODE_RECEIVED =
            "com.sunmi.scanner.ACTION_DATA_CODE_RECEIVED";
private static final String DATA = "data";
private BroadcastReceiver receiver = new BroadcastReceiver() {
	@Override
	public void onReceive(Context context, Intent intent) {
		String code = intent.getStringExtra(DATA);
		if (code != null && !code.isEmpty()) {
			Log.d(TAG, new Date().toString() + "  " + code);

			((TextView) findViewById(R.id.textView)).setText(new Date().toString() + "  " + code);
		}
	}
};

private void registerReceiver() {
	IntentFilter filter = new IntentFilter();
	filter.addAction(ACTION_DATA_CODE_RECEIVED);
	registerReceiver(receiver, filter);
}

上述代码在商米V2s上测试通过,其它设备尚未测试。

Logo

CANN开发者社区旨在汇聚广大开发者,围绕CANN架构重构、算子开发、部署应用优化等核心方向,展开深度交流与思想碰撞,携手共同促进CANN开放生态突破!

更多推荐