PDA

Ver la Versión Completa : No me aclaro con AsyncTask


Joakin60
08/02/16, 10:17:58
Tengo cierto lío con la clase AsyncTask. Me explico, quiero ejecutar un método que me devuelve la latitud y la longtud con AsyncTask. El método funciona bien, es el siguiente:
public void activarGPS(), y la clase AsynTask que tengo y me da error es:
public class GPSLocation extends AsyncTask<String, Integer, String> {
……………..
Me da error en:
protected String doInBackground(String... params) {

activarGPS();
Log.e(TAG, "doInBackground");
return null
}
Parece que al pasar por activarGPS(); da el error. Me gustaría saber como se hace para ejecutar el método en el AsyncTask y que return utilizar. De momento me conformo con solucionar ese fallo, ya veremos luego que pasa con onPostExecute.
Agradecería cualquier aporte que me pudiera dar algo de luz.

Joakin60
08/02/16, 21:31:52
Por fín el tema solucionado, al menos esta parte.
En public class GPSLocation extends AsyncTask<String, Integer, String> {
…………
protected String doInBackground(String... params) {
Looper.prepare();
try {
latitud="0";
longitud="0";
gps = new GPSTracker(AndroidGPSTrackingActivity.this);
// check if GPS enabled
if(gps.canGetLocation()){
latitud=String.valueOf(gps.getLatitude());
longitud=String.valueOf(gps.getLongitude());
}
}catch (Exception e) {
}
return null;
}
protected void onPostExecute(String result) {
gps = new GPSTracker(AndroidGPSTrackingActivity.this);
progressDialog.cancel();
if(longitud !="0" && latitud !="0"){
longi.setText(longitud);
lati.setText(latitud);
} else {
gps.showSettingsAlert();
}
}