我正在尝试编写在Android设备上使用有线USB扫描仪的代码。我尝试使用ZXing使用相机,但速度太慢。
我尝试了Java库,它可以在Java上完美运行。现在,我想使用该库通过绑定库在Xamarin.Forms上构建应用程序。但是我不熟悉Xamarin.Forms,所以有没有教程可以帮助我将代码转换为Xamarin.Form?
在Java中,我使用以下这些代码来使用该库。我还附加了整个MainActivity和Jar文件。预先感谢。
主要活动 https://ufile.io/2t83bb1d
Jar文件 https://ufile.io/b0xqifpc
private static final int HIDE_SERIAL_CTL_MSG = 1;
private static final int DEVICE_POWER_STATE_CHANGE_MSG = 2;
private static final int CLEAR_RESULT_MSG = 4;
private static String TAG = "ACT_QRScan";
USBQRscanFactory usbScan;
private Button btnLightSetting,
btnScan, btnContinuoutStart, btnPowerOnOff,
btnSetTimeOut;
private EditText etTimeOutSeconds;
private TextView mShow;
private TextView mTvstatus;
private ScanBroadcastReceiver scanBroadcastReceiver;
private boolean mWorkingStateFlag = false;
private boolean mPowerStateFlag = true;
private Context mCtx;
private Player mPlayer;
public void onCreate(Bundle savedInstanceState) {
if (null == mPlayer)
mPlayer = new Player();
mPlayer.init(mCtx, R.raw.done);
scanBroadcastReceiver = new ScanBroadcastReceiver(mPlayer, R.raw.done);
hideSerialCtls(true);
usbScan = USBQRscanFactory.createInstance();
private Intent getUSBScanService() {
// TODO Auto-generated method stub
Intent i = new Intent();
i.setAction("com.unistrong.qrcode.USBScanService");
i.setPackage(getApplication().getPackageName());
return i;
}
private void openScanner(boolean open) {
if (open == mWorkingStateFlag) return;
if (open) {
try {
Thread.sleep(50);
usbScan.open();
usbScan.enableAddKeyValue(0);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else {
if (null != usbScan) {
if (btnContinuoutStart.getTag().equals("1")) {
usbScan.continuousScan(false);
btnContinuoutStart.setTag("0");
btnContinuoutStart.setText(getString(R.string.str_continuous_scan_start));
}
usbScan.close();
}
H.sendEmptyMessage(CLEAR_RESULT_MSG);
}
}