Pular para o conteúdo principal

Implementação

package com.example.zaig_device_scan_sdk_test_app;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;

import com.zaig.android.devicescan.DeviceScan;
import com.zaig.android.devicescan.DeviceScanNotifier;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
private DeviceScan deviceScan;
private DeviceScanNotifier deviceScanNotifier;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
deviceScanNotifier = new DeviceScanNotifier(this);
}

public void sendDeviceScan(View view) {
try{
deviceScan = new Scan.Builder(this.getApplicationContext())
.setMobileToken(this.mobileToken)
.setSessionId(this.sessionId)
.setNotifier(this.deviceScanNotifier)
.setSandboxEnvironment()
.build();
}catch (Exception ex) {
Log.e("DeviceScan Error", "There was an error collecting DeviceScan data: " + ex.toString());
}
}

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults){
try{
deviceScan.collectData(this.documentNumber,
this.eventId,
this.eventType);
}catch (Exception ex) {
Log.e("DeviceScan Error", "There was an error collecting DeviceScan data: " + ex.toString());
}
}


private class ScanNotifier implements DeviceScanNotifier {
AppCompatActivity activity;
public ScanNotifier (AppCompatActivity myActivity){
// Este método é customizável e pode ser utilizado para se armazenar a Activity, utilizada para operar a UI
this.activity = myActivity;
}

public void onSuccess(){
Log.i("DeviceScan", "DeviceScan successfully submitted");
runOnUiThread(new Runnable() {
@Override
public void run() {
// Adicionar aqui quaisquer mudanças de UI que sejam necessárias após o envio com sucesso do device scan
}
});
}

public void onError(){
Log.i("DeviceScan", "DeviceScan submission failed");
runOnUiThread(new Runnable() {
@Override
public void run() {
// Adicionar aqui quaisquer mudanças de UI que sejam necessárias após o envio com sucesso do device scan
}
});
}
}
}

Para utilizar a SDK do device scan android, os seguintes passos são necessários:

  • Inserir as autorizações ao manifest da aplicação;
  • Importar a biblioteca ao projeto da aplicação;
  • Ao iniciar a aplicação, instanciar a biblioteca, passando os parâmetros adequados em seu construtor, incluindo o Notifier, responsável por dar o CallBack da operação com o resultado;
  • Utilizar a função onRequestPermissionsResult da Activity para ser notificado do resultado da aprovação ou não das permissões requeridas;
  • Requisitar as permissões ao usuário. É obrigatória a permissão de acesso a internet para o funcionamento da biblioteca;
  • Ao ser notificado do resultado da aprovação ou não das permissões, colete e envie os dados por meio do método collectData.