Exemplo de integração utilizando o AndroidX
Caso esteja realizando a integração com o m-SiTef utilizando as bibliotecas do AndroidX, os métodos startActivityForResult e onActivityResult estão depreciados. Abaixo segue um exemplo da chamada do m-SiTef utilizando o AndroidX
Intent i = new Intent("br.com.softwareexpress.sitef.msitef.ACTIVITY_CLISITEF");
i.putExtra("empresaSitef", "00000001");
i.putExtra("enderecoSitef", "127.0.0.1;127.0.0.1:20036");
i.putExtra("operador", "0001");
i.putExtra("data", "20140312");
i.putExtra("hora", "150000");
i.putExtra("numeroCupom", "1");
i.putExtra("numParcelas", "3");
i.putExtra("modalidade", "0");
i.putExtra("valor", "9000");
i.putExtra("CNPJ_CPF", "12345678912345");
i.putExtra("timeoutColeta", "30");
i.putExtra("acessibilidadeVisual", "0");
startPagamentoIntent.launch(i);
Definição do ActivityResultLauncher para realizar o tratamento do retorno do m-SiTef
ActivityResultLauncher<Intent> startPagamentoIntent = registerForActivityResult(
new ActivityResultContracts.StartActivityForResult(),
result -> {
if (result.getResultCode() == RESULT_OK) {
Intent data = result.getData();
System.out.println("m-SiTef executado com sucesso!");
System.out.println("CODRESP: " + data.getExtras().getString("CODRESP"));
System.out.println("COMP_DADOS_CONF: " + data.getExtras().getString("COMP_DADOS_CONF"));
System.out.println("CODTRANS: " + data.getExtras().getString("CODTRANS"));
System.out.println("TIPO_PARC: " + data.getExtras().getString("TIPO_PARC"));
System.out.println("VLTROCO: " + data.getExtras().getString("VLTROCO"));
System.out.println("REDE_AUT: " + data.getExtras().getString("REDE_AUT"));
System.out.println("BANDEIRA: " + data.getExtras().getString("BANDEIRA"));
System.out.println("NSU_SITEF: " + data.getExtras().getString("NSU_SITEF"));
System.out.println("NSU_HOST: " + data.getExtras().getString("NSU_HOST"));
System.out.println("COD_AUTORIZACAO: " + data.getExtras().getString("COD_AUTORIZACAO"));
System.out.println("NUM_PARC: " + data.getExtras().getString("NUM_PARC"));
System.out.println("VIA_ESTABELECIMENTO: " + data.getExtras().getString("VIA_ESTABELECIMENTO"));
System.out.println("VIA_CLIENT: " + data.getExtras().getString("VIA_CLIENTE"));
String tipoCampos = data.getExtras().getString("TIPO_CAMPOS");
JSONObject jsonCampos= null;
jsonCampos = new JSONObject(tipoCampos);
String campo = jsonCampos.getString("132");
}
else {
System.out.println("Erro no m-SiTef!");
}
});