1
私のコードにGoogle Vision APIを統合しようとしていますが、値をテキストビューに変換するのが苦労しています。また、カメラの表面図が破壊されることもありません。Google VISION APIがテキストビューのバーコードを読み取る
マニフェストメタデータ -
<meta-data
android:name="com.google.android.gms.vision.DEPENDENCIES"
android:value="barcode" />
以下のコードでreaded
現在値:
[email protected]
予想されるバーコードのテキスト:047754732276
コード:
barcodeDetector =
new BarcodeDetector.Builder(transactionActivity)
.setBarcodeFormats(Barcode.ALL_FORMATS)
.build();
cameraSource = new CameraSource.Builder(transactionActivity, barcodeDetector)
.setAutoFocusEnabled(true)
.setRequestedPreviewSize(1600, 1024)
.build();
cameraView.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
//noinspection MissingPermission
if(ContextCompat.checkSelfPermission(transactionActivity, android.Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED){
ActivityCompat.requestPermissions(transactionActivity, new String[]{Manifest.permission.CAMERA}, PERMISSION_REQUEST);
}
cameraSource.start(cameraView.getHolder());
} catch (IOException ex) {
ex.printStackTrace();
}
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
cameraSource.stop();
}
});
barcodeDetector.setProcessor(new Detector.Processor() {
@Override
public void release() {
}
@Override
public void receiveDetections(Detector.Detections detections) {
final SparseArray barcodes = detections.getDetectedItems();
if (barcodes.size() != 0) {
imei.post(new Runnable() {
@Override
public void run() {
cameraSource.stop();
//Update barcode value to TextView
imei.setText(String.valueOf((barcodes.valueAt(0).displayValue)));
}
});
}
}
});
あなたはgms.visionのマニフェストファイルのメタデータタグを投稿することができます。 – ADimaano
ここで@ADimaanoはマニフェストのメタデタタグです。私はメタデータを使って投稿を更新しています。 –
Akshay