Lanzar cĂĄmara por callback
Esta modalidad centraliza el flujo de lanzamiento de la cåmara scanner en un sólo método, launchScanner
, que junto con la utilizaciĂłn de callbacks para el manejo de respuestas, simplifica el proceso de implementaciĂłn y lectura de cĂłdigos.
Para esta implementación, deberås diferenciar qué tipo de código deseas escanear mediante la clase ScanType
, y proporcionar el callback a ser invocado con el resultado de la operaciĂłn, tal como se muestra en el ejemplo a continuaciĂłn y en las descripciones de los campos a completar.
val cameraScanner = MPManager.cameraScanner
/**
* launch camera for scanner code QR
**/
cameraScanner.launchScanner(ScanType.CAMERA_SCANNER_QR) { response ->
response
.doIfSuccess { result -> // Manejo del resultado success del scanner result.message }
.doIfError { error -> // Manejo del error que resulte del scanner error.message.orEmpty() }
}
/**
* launch camera for scanner Bar code
**/
cameraScanner.launchScanner(ScanType.CAMERA_SCANNER_BARCODE) { response ->
response
.doIfSuccess { result -> // Manejo del resultado success del scanner result.message }
.doIfError { error -> // Manejo del error que resulte del scanner error.message.orEmpty() }
}
final CameraScanner cameraScanner = MPManager.INSTANCE.getCameraScanner();
final Function<MPResponse<CameraScannerResponse>, Unit> callback = new Function<MPResponse<CameraScannerResponse>, Unit>() {
@Override
public Unit apply(MPResponse<CameraScannerResponse> response) {
if (response.getStatus() == ResponseStatus.SUCCESS) {
// Manejar la respuesta exitosa
CameraScannerResponse cameraScannerResponse = response.getData();
String result = cameraScannerResponse.getMessage();
// ... Hacer algo con el resultado
} else {
// Manejar el error en la respuesta
String errorMessage = response.getError();
// ... Hacer algo con el error
}
return Unit.INSTANCE;
}
};
/**
* Lanzar el escĂĄner de cĂĄmara QR o Barra con el callback: ScanType.CAMERA_SCANNER_QR - ScanType.CAMERA_SCANNER_BARCODE
*/
cameraScanner.launchScanner(ScanType.CAMERA_SCANNER_QR, callback);
Campo | DescripciĂłn |
ScanType | Clase que contiene los tipos de cĂłdigo a ser leĂdos por la cĂĄmara. Los valores posibles son: - CAMERA_SCANNER_QR : representa la lectura de cĂłdigos QR.- CAMERA_SCANNER_BARCODE : representa la lectura de cĂłdigos de barras. |
callback (MPResponse | Callback a ser invocado con el resultado de la operaciĂłn del escĂĄner. Recibe un objeto MPResponse con un CameraScannerResponse . |