MĂ©todo legacy para lanzar cĂĄmara
La funciĂłn initBarcodeScanner
de la clase CameraScanner
en nuestro SDK se utiliza para invocar la funcionalidad de lectura de cĂłdigos que se encuentra en el dispositivo Point Smart. AdemĂĄs, debe implementarse una funciĂłn adicional en la actividad que lo utiliza para manipular la respuesta de lectura.
Consulta cĂłmo iniciar la lectura de cĂłdigos QR y de barras, y cĂłmo manejar las respuestas, a continuaciĂłn.
CĂłdigo de barras
Para iniciar la lectura de cĂłdigos de barras del Point Smart, comienza por utilizar 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
 permita gestionar la respuesta de lectura.
Para su implementaciĂłn, 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, comienza por utilizar 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
 permita gestionar la respuesta de lectura.
Para su implementaciĂłn, 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 scanner 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.
Consulta cĂłmo procesar la respuesta.
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. |