Escanear cĂłdigos de barras y QR
A continuaciĂłn, encontrarĂĄ informaciĂłn sobre cĂłmo iniciar y gestionar el escĂĄner de Point Smart para la lectura de cĂłdigos de barras y QR.
CĂłdigo de barras
Para iniciar la lectura de cĂłdigos QR del Point Smart, usa la funciĂłn initBarcodeScanner
de la clase CameraScanner
.
Este proceso usa un llamado de cåmara a través de startActivityForResult
, de modo que el método onActivityResult
 se debe implementar en la actividad para manipular la respuesta de lectura.
Consulta el ejemplo a continuaciĂłn.
val cameraScanner = MPManager.cameraScanner
cameraScanner.initBarcodeScanner(this@YourActivity)
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
cameraScanner.initBarcodeScanner(this);
CĂłdigo QR
Para iniciar la lectura de cĂłdigos QR del Point Smart, usa la funciĂłn initQRCodeScanner
de la clase CameraScanner
.
Este proceso usa un llamado de cåmara a través de startActivityForResult
, de modo que el método onActivityResult
 se debe implementar en la actividad para manipular la respuesta de lectura.
Consulta el ejemplo a continuaciĂłn.
val cameraScanner = MPManager.cameraScanner
cameraScanner.initQRCodeScanner(this@YourActivity)
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
cameraScanner.initQRCodeScanner(this);
Procesar la respuesta del escĂĄner
Para gestionar la respuesta de una actividad de escaneo de cĂłdigo QR o de cĂłdigo de barras, usa la funciĂłn handleQrResponse
de la clase CameraScanner
en el método onActivityResult
.
Esta funciĂłn procesa el resultado del escĂĄner desde la cĂĄmara, validando la respuesta e invocando el callback apropiado segĂșn el resultado. Recibe un objeto MPResponse
con un [CameraScannerResponse]
, representando la respuesta de lectura.
Este método simplifica el proceso de manejo de respuestas del escåner de QR o código de barra en el método onActivityResult
, procesando el resultado del escĂĄner desde la cĂĄmara, validando la respuesta e invocando el callback apropiado segĂșn el resultado.
Consulta cĂłmo continuar.
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
val cameraScanner = MPManager.cameraScanner
cameraScanner.handleScannerResponse(this, resultCode, data) { response ->
response.doIfSuccess { result ->
// Manejar la respuesta exitosa
val status = result.status
val message = result.message
// ... Hacer algo con la respuesta
}.doIfError { error ->
// Manejar el error en la respuesta
val errorMessage = error.message
// ... Hacer algo con el error
}
}
}
@Override
protected void onActivityResult(final int requestCode, final int resultCode, final Intent data) {
super.onActivityResult(requestCode, resultCode, data);
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
final Function1<MPResponse<CameraScannerResponse>, Unit> callback = (final MPResponse<CameraScannerResponse> response) -> {
if (response.getStatus() == ResponseStatus.SUCCESS) {
final CameraScannerResponse cameraScannerResponse = response.getData();
// Manejar la respuesta exitosa
final String result = response.getData().getMessage();
// ... Hacer algo con la respuesta
} else {
// Manejar el error en la respuesta
final Exception errorMessage = response.getError();
// ... Hacer algo con el error
}
return Unit.INSTANCE;
};
cameraScanner.handleScannerResponse(this, resultCode, data, callback);
}
Campo | DescripciĂłn |
resultCode (Int) | Valor del resultCode en onActivityResult . |
resultData (Intent?) | Valor de la fecha en onActivityResult . |
MPResponse<CameraScannerResponse> | Objeto [MPResponse] que encapsula el estado, el error (si lo hay) y los datos en caso de éxito, que tiene un objeto CameraScannerResponse . |
status (CameraScannerStatus) | Define el estado de la respuesta. Puede ser "Ok" (la lectura fue exitosa), Error (hubo un error o la lectura se cancelĂł) o Unknown (hubo algĂșn error indeterminado). |
message (String) | Define el mensaje de la respuesta recibida por escaner. Si es âOkâ, tendrĂĄ el resultado de la lectura del cĂłdigo. |