|
||
|
|
|
|||||||
| Discusión general sobre Android Exclusivo para hablar de Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
No me aclaro con AsyncTask
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. Última edición por Joakin60 Día 08/02/16 a las 13:10:59. Razón: Porque llevo tiempo dándole vueltas y cada vez entiendo menos. |
|
|
|
#2
|
||||
|
||||
|
Tema solucionado
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(); } } |
![]() |
Estás aquí
|
||||||
|
||||||