GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Utilizar Json na Classe Receiver (broadcast)


#1

Pessoal, olá.

estou iniciando no Android e sou hobbista. Entretanto, estou desenvolvendo um projeto para ajudar o setor público.

Li sobre o receiver e consegui implementar o alarme para chamar um “rotina” que atualizará a localização de um celular, de tempos em tempos. Essa localização é salva em um banco no WEBSERVICE.

Ocorre que quando chamo a rotina em uma Activity, tudo corre bem, mas a mesma rotina chamada direto no Receiver, nada acontece. Nem erro do Json é acusado.

Segue o Código do Receiver:

</ classe

public class Alarm extends BroadcastReceiver implements Response.ErrorListener, Response.Listener {

private RequestQueue rq;
private JsonRequest jrq;
private String url;

public String numero;
public String latitude;
public String longitude;
public String msg;


@Override
public void onReceive(Context context, Intent i) {
    Bundle extras = i.getExtras();
    if (extras != null) {
        numero = extras.getString("numero");
    }

    LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    @SuppressLint("MissingPermission") Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
    Double latPoint = location.getLatitude();
    Double lngPoint = location.getLongitude();
    latitude = latPoint.toString();
    longitude = lngPoint.toString();

    String sql = "UPDATE requisicao set latitude='" + latitude + "', set longitude='" + longitude + "' WHERE numero='" + numero + "'";
    url = "xxxxxxx/sql.php?sql=" + sql;
    rq = Volley.newRequestQueue(context);
    jrq = new JsonObjectRequest(Request.Method.GET, url, null, this, this);
    rq.add(jrq);
    Toast.makeText(context, "Mensagem: " + msg, Toast.LENGTH_SHORT).show();

}

@Override
public void onErrorResponse(VolleyError error) {
    msg = "Erro na atualização!";
}

@Override
public void onResponse(JSONObject response) {
    msg = "Atualização com sucesso!";
}

}
/>


#2

Cadê a menssagem de erro?


#3

Então. Amigo, obrigado por querer ajudar. Não aparece erro, não consigo sequer ver se a função é chamada. O Json deveria tratar o erro, mas não mostra nada. Dei uma olhada pra ver se seria algo relacionado à permissão, mas não consegui visualizar nada.