UI_Services - ReconoSERID/SDK-ReconoSERID-Android GitHub Wiki
UI
Interfaz grafica para los servicios de Biometría facial y documento.
Dependiendo del tipo de convenio ciertos parametros son obligatorios enviar en el intent
-
Para tipo 0:
1. Se debe enviar como llave "guid_ciudadano" acompañado del guidCiudadano
-
Para tipo 3:
1. Se debe enviar como llave "type_document" acompañado del tipo de documento 2. Se debe enviar como llave "num_document" acompañado del número documento
Documento Anverso
Captura el documento por la parte del anverso, valido para cédulas de colombia ya que valida que haya un rostro y que diga cedula de Colombia.
#!java
Intent intent = new Intent(this, RequestDocumentActivity.class);
intent.putExtra(IntentExtras.TEXT_SCAN, "Anverso");
intent.putExtra(IntentExtras.GUID_CIUDADANO, "xxxxx-xxxxx-xxxxx-xxxxx"); //Obligatorio para convenio 0
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "CC"); //Obligatorio para convenio 3
intent.putExtra(IntentExtras.NUM_DOCUMENT, "123456789"); //Obligatorio para convenio 3
intent.putExtra(IntentExtras.SAVE_USER, "xxxx"); //Obligatorio para convenio 0
startActivityForResult(intent, DOCUMENT_REQUEST);
Se realiza el llamado por intent y se le debe pasar "Anverso" y static final int DOCUMENT_REQUEST = 1;
y recibes la respuesta en el onActivityResult
#!java
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
binding.btnIntent.setEnabled(true);
if (requestCode == DOCUMENT_REQUEST){
if (resultCode == RESULT_OK){
data.getParcelableExtra(IntentExtras.DATA_ANVERSO) //datos leidos en el documento
data.getStringExtra(IntentExtras.PATH_FILE_PHOTO) //path de la imagen tomada
} else if (resultCode == IntentExtras.ERROR_INTENT){
data.getStringExtra(IntentExtras.ERROR_MSG) //mensaje de error
data.getExtras().getParcelable(IntentExtras.ERROR_SDK) //errores generados en el SDK
}
}
}
Documento Reverso
Captura el documento por la parte del reverso, valido para cédulas de colombia ya que valida que diga "FECHA DE NACIMIENTO"
#!java
static final int DOCUMENT_REQUEST = 1;
Intent intent = new Intent(this, RequestDocumentActivity.class);
intent.putExtra(IntentExtras.TEXT_SCAN, "Reverso");
intent.putExtra(IntentExtras.GUID_CIUDADANO, "xxxxx-xxxxx-xxxxx-xxxxx"); //Obligatorio para convenio 0
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "CC"); //Obligatorio para convenio 3
intent.putExtra(IntentExtras.SAVE_USER, "xxxx"); //Obligatorio para convenio 0
intent.putExtra(IntentExtras.NUM_DOCUMENT, "123456789"); //Obligatorio para convenio 3
startActivityForResult(intent, DOCUMENT_REQUEST);
El resultado se devuelve en el onActivityResult
#!java
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
binding.btnIntent.setEnabled(true);
if (requestCode == DOCUMENT_REQUEST){
if (resultCode == RESULT_OK){
data.getExtras().getParcelableExtra(IntentExtras.DATA_REVERSO)
} else if (resultCode == IntentExtras.ERROR_INTENT){
onErrorIntent(data);
}
}
}
Documento Barcode
Lee el barcode de las cedulas colombianas y devuelve un string.
#!java
static final int BARCODE_DOCUMENT = 2;
Intent intent = new Intent(this, BarCodeActivity.class);
startActivityForResult(intent, BARCODE_DOCUMENT);
El resultado se devuelve en el onActivityResult
#!java
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
binding.btnIntent.setEnabled(true);
if (requestCode == BARCODE_DOCUMENT){
if (resultCode == RESULT_OK) {
data.getStringExtra(IntentExtras.DATA_BARCODE); //string del barcode
}
else if (resultCode == IntentExtras.ERROR_INTENT){
onErrorIntent(data);
}
}
}
Biometría Facial
Valida que haya un rostro humano y realice movimientos aleatorios (sonria, parpadear, gire a la derecha o a la izquierda)
Dependiendo del tipo de convenio ciertos parametros son obligatorios enviar en el intent
-
Para tipo 0:
1. Se debe enviar como llave "guid_ciudadano" acompañado del guidCiudadano
-
Para tipo 3:
1. Se debe enviar como llave "type_document" acompañado del tipo de documento 2. Se debe enviar como llave "num_document" acompañado del número documento
#!java
static final int FACE = 3;
Intent intent = new Intent(this, LivePreviewActivity.class);
intent.putExtra(IntentExtras.GUID_CIUDADANO, "xxxxx-xxxxx-xxxxx-xxxxx"); //Obligatorio para convenio 0
intent.putExtra(IntentExtras.TYPE_DOCUMENT, "CC"); //Obligatorio para convenio 0 y 3
intent.putExtra(IntentExtras.NUM_DOCUMENT, "123456789"); //Obligatorio para convenio 0 y 3
intent.putExtra(IntentExtras.SAVE_USER, "xxxx"); //Obligatorio para convenio 0
intent.putExtra(IntentExtras.VALIDATE_FACE, false); //Obligatorio para convenio 0 si envias true se valida el rostro
startActivityForResult(intent, FACE);
se devuelve en el onActivityResult
#!java
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
binding.btnIntent.setEnabled(true);
if (requestCode == FACE){
if (resultCode == RESULT_OK){
data.getStringExtra(IntentExtras.PATH_FILE_PHOTO_R) //path foto tomada
data.getStringExtra(IntentExtras.VALIDATE_FACE) //si enviaste true en el intent IntentExtras.VALIDATE_FACE
}else if (resultCode == IntentExtras.ERROR_INTENT){
data.getStringExtra(IntentExtras.ERROR_MSG) //mensaje de error
data.getExtras().getParcelable(IntentExtras.ERROR_SDK) //errores generados en el SDK
}
}
}