|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Porque mi aplicación se cierra?
Se resume básicamente a esto:
Código:
public class TesterActivity extends Activity {
ListView lista;
private static String url2 = "http://www.misitio.com/registerlocation.php";
private ProgressDialog pd = null;
String lat = "";
String lon = "";
JSONParser jParser = new JSONParser();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
pd = ProgressDialog.show(this, "Registrando localización..", "Esperando señal de GPS válida");
Log.d("Why", "why");
configGPS();
}
private void configGPS() {
LocationManager mLocationManager;
LocationListener mLocationListener;
mLocationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mLocationListener = new MyLocationListener();
mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 1, mLocationListener);
}
public void enviardatos() {
ArrayList<NameValuePair> postparameters2send = new ArrayList<NameValuePair>();
postparameters2send.add(new BasicNameValuePair("latitud", lat));
postparameters2send.add(new BasicNameValuePair("longitud", lon));
jParser.makeHttpRequest(url2, "POST", postparameters2send);
Toast.makeText(TesterActivity.this, "Datos enviados, cierre la aplicación", Toast.LENGTH_LONG).show();
}
private class MyLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
lat = String.valueOf(location.getLatitude()) + "E6";
lon = String.valueOf(location.getLongitude()) + "E6";
Log.d("HelloGPSActivity", lat);
Log.d("HelloGPSActivity", lon);
enviardatos();
pd.dismiss();
}
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
}
Cuál puede ser el error? Puede ser algo de eso de bloquear el MainThread o algo similar? Un saludo ;) PD: No copio la clase JSONParser porque sería una absurdidad además funciona bien seguro. EDITO: He añadido este código en el LocationManager: Código:
Thread t = new Thread(new Runnable() {
public void run() {
try {
enviardatos();
} catch (Throwable t) {
}
}
});
t.start();
Última edición por superroko2 Día 16/12/12 a las 01:00:17. |
|
|
|
#2
|
||||
|
||||
|
Has probado a que obtener la posición GPS antes de arrancar la aplicación? Yo no se por qué motivo, pero yo tuve un problema similar de cierres. Sin embargo, arrancaba gmaps con GPS activo y cuando obtenía posición salía y arrancaba mi aplicación y funcionaba ok.
|
|
#3
|
||||
|
||||
|
Como puedo hacerlo? Aunque me parece raro. Los GPS y las aplicaciones tipo Runtastic y demás buscan el GPS con la aplicación abierta.
A ver si puedes explicarme cómo esperar a la señal antes de que se abra y a ver si alguien puede encontrar el error de la mía o explicarme porque se detiene y explicarme como hacerlo para que no ocurra. |
|
#4
|
||||
|
||||
|
Subo!
|
|
#5
|
||||
|
||||
|
Como puedo hacerlo? Aunque me parece raro. Los GPS y las aplicaciones tipo Runtastic y demás buscan el GPS con la aplicación abierta.
A ver si puedes explicarme cómo esperar a la señal antes de que se abra y a ver si alguien puede encontrar el error de la mía o explicarme porque se detiene y explicarme como hacerlo para que no ocurra. ![]() El problema era que no se si sería que las nuevas serían null y haría que fallase la posición, pero si estaba un tiempo sin usar volvía a fallar si no tenía la GPS válida. No miré más a fondo porque fue con tutoriales que iba siguiendo. |
|
#6
|
||||
|
||||
|
Buenas,
Ya te entiendo pero no me sirve. Mi problema no es ese. Mi aplicación ya controla esas cosas que comentaste. No sé que puede fallar. Alguien? |
![]() |
Estás aquí
|
||||||
|
||||||