Я решил этот обнаружение множественного Barcode
в то же время, исследуя образец кода и некоторые логические реализации.
Решение является: остановка mPreview
и начать снова после 1 секунды delay
Создание обратного вызова слушателя
public interface BarCodeDetectListener {
void onBarCodeDetect(Barcode barcode);
}
BarcodeGraphicTracker
Когда устройство обнаружено Barcode
внутри onNewItem()
кал lback к Barcodefragment
class BarcodeGraphicTracker extends Tracker<Barcode> {
...
...
private BarcodeGraphic mGraphic;
private BarCodeDetectListener barCodeDetectListener;
...
/**
* Start tracking the detected item instance within the item overlay.
*/
@Override
public void onNewItem(int id, Barcode item) {
mGraphic.setId(id);
barCodeDetectListener.onBarCodeDetect(item);
}
}
BarCodeFragment
@SuppressLint("NewApi")
public class SurveyBarCodeFragment extends Fragment implements BarCodeDetectListener {
...
private CameraSourcePreview mPreview;
private CameraSource mCameraSource;
...
@Override
public void onBarCodeDetect(final Barcode barcode) {
new Handler().post(new Runnable() {
@Override
public void run() {
mPreview.stop(); //Stop preview
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
try {
if (ActivityCompat.checkSelfPermission(getApplicationContext(), Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
//Start preview after 1s delay
mPreview.start(mCameraSource);
} catch (IOException e) {
e.printStackTrace();
}
}
}, 1000);
}
});
}
}
Я думаю, что Вы могли бы хотеть это, http://stackoverflow.com/questions/32999813/preview-size-for-barcode-scanner- from-vision-api/34156158 # 34156158 –
Нет, пожалуйста, прочитайте, что я прошу. –