Android - Cierre de app tras leer código de barras

 
Vista:

Cierre de app tras leer código de barras

Publicado por Lis (1 intervención) el 14/08/2018 10:19:20
Hola a tod@s!

Estoy empezando con Android y no he encontrado solución a un problema, no se si me podáis ayudar. Tengo una app que lee códigos de barras y comprueba que existan en una lista y los guarda como leídos, pero cuando lee el primer código se cierra la app.

Por lo que he podido ver, creo que es algún problema con la AsyncTask en el método doInBackground.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
public class Hilo extends AsyncTask<Integer,Integer,Integer> {
 
    private boolean error;
    private String token;
 
    @Override
    protected Integer doInBackground(Integer... params) {
        try {
            if(token.equals("0")) {
                error=true;
            } else {
                listaBarCode = Manejador.getBarCode(token,rvp.getId()+"");
            }
        } catch (Exception e) {
            e.printStackTrace();
            error=true;
        }
        return null;
    }
 
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        token=prefs.getString("token","0");
        btnEscanear.setEnabled(false);
        dialog=  ProgressDialog.show(ComprobarBultos.this, "", "Cargando datos...", true);
        dialog.setCancelable(true);
        dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
            @Override
            public void onCancel(DialogInterface dialog) {
                ComprobarBultos.this.finish();
            }
        });
        error=false;
    }
 
    @Override
    protected void onPostExecute(Integer integer) {
        super.onPostExecute(integer);
        dialog.dismiss();
        btnEscanear.setEnabled(true);
        if(error) {
            dialogoIncorrecto("Error","No se pudo contactar con el servidor");
        } else {
            bultosTotales = listaBarCode.size();
            tvTitulo.setText("Bultos asignados 0/"+bultosTotales);
        }
    }
}


Muchas gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder