如何一直显示条码扫描画面?
how to show bar-code scanning screen always?
如何在android.
中一直显示条码扫描画面
IntentIntegrator integrator = new IntentIntegrator(activity);
首先您需要将 FrameLayout
添加到您的 layout.xml
作为 barcodeScannet 的容器:
<FrameLayout
android:id="@+id/barcode_scanner"
android:layout_width="match_parent"
android:layout_height="350dp" />
之后您需要在 activity 或片段
中实施 ZXingScannerView.ResultHandler
那么您需要将扫描仪添加到此视图
private ZXingScannerView mScannerView;
ViewGroup v = (ViewGroup) mainView.findViewById(R.id.barcode_scanner);
mScannerView = new ZXingScannerView(getActivity());
v.addView(mScannerView);
您还需要覆盖 onResume
和 onPause
才能开始停止相机:
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
// aslso check for camera permission here too
}
@Override
public void onPause() {
mScannerView.stopCamera(); // Stop camera on pause
super.onPause();
}
然后 :
@Override
public void handleResult(Result rawResult) {
AppLog.logE("result content", rawResult.getText()); // Prints scan results
AppLog.logE("result name", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)
// the resault of barcode will be given as an string rawResult.getText()
// and you can do whatEver you want with it
// handleBarcodeResult(rawResult.getText());
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mScannerView.resumeCameraPreview(BillPaymentFragment.this);
}
}, 2000);
}
最后,只要您想启动条码扫描器,只需调用以下代码:
mScannerView.startCamera();
如何在android.
中一直显示条码扫描画面IntentIntegrator integrator = new IntentIntegrator(activity);
首先您需要将 FrameLayout
添加到您的 layout.xml
作为 barcodeScannet 的容器:
<FrameLayout
android:id="@+id/barcode_scanner"
android:layout_width="match_parent"
android:layout_height="350dp" />
之后您需要在 activity 或片段
中实施ZXingScannerView.ResultHandler
那么您需要将扫描仪添加到此视图
private ZXingScannerView mScannerView;
ViewGroup v = (ViewGroup) mainView.findViewById(R.id.barcode_scanner);
mScannerView = new ZXingScannerView(getActivity());
v.addView(mScannerView);
您还需要覆盖 onResume
和 onPause
才能开始停止相机:
@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
// aslso check for camera permission here too
}
@Override
public void onPause() {
mScannerView.stopCamera(); // Stop camera on pause
super.onPause();
}
然后 :
@Override
public void handleResult(Result rawResult) {
AppLog.logE("result content", rawResult.getText()); // Prints scan results
AppLog.logE("result name", rawResult.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)
// the resault of barcode will be given as an string rawResult.getText()
// and you can do whatEver you want with it
// handleBarcodeResult(rawResult.getText());
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
mScannerView.resumeCameraPreview(BillPaymentFragment.this);
}
}, 2000);
}
最后,只要您想启动条码扫描器,只需调用以下代码:
mScannerView.startCamera();