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
            }
        } 
    }

Códigos de Error

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);
            }
        }
}

Códigos de Error

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);
            }
        }
    }

Códigos de Error

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
            }
        } 
    }

Códigos de Error

volver