Salve a tutti, sto creando un servizio che automaticamente mi salvi la posizione gps ogni minuto. Faccio partire quindi il servizio da un activity e utilizzo la classe TimerTask per temporizzare l'operazione. All'interno del metodo run() di TimerTask inserisco i metodi per salvare la posizione ma in runtime mi da problemi (l'applicazione crasha e il logcat mi dice che il problema è nella implementazione del metodo run()). Se non utilizzo la temporizzazione, quindi salvo solo una volta la posizione gps tutto funziona.
Vi posto anche il codice se qualcuno può dirmi dove sbaglio.. Grazie!!
Vi allego anche il log
codice:
08-26 18:11:53.075: W/dalvikvm(30915): threadid=11: thread exiting with uncaught exception (group=0x40c371f8)
08-26 18:11:53.080: E/AndroidRuntime(30915): FATAL EXCEPTION: Timer-0
08-26 18:11:53.080: E/AndroidRuntime(30915): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
08-26 18:11:53.080: E/AndroidRuntime(30915): at android.os.Handler.<init>(Handler.java:121)
08-26 18:11:53.080: E/AndroidRuntime(30915): at android.location.LocationManager$ListenerTransport$1.<init>(LocationManager.java:173)
08-26 18:11:53.080: E/AndroidRuntime(30915): at android.location.LocationManager$ListenerTransport.<init>(LocationManager.java:173)
08-26 18:11:53.080: E/AndroidRuntime(30915): at android.location.LocationManager._requestLocationUpdates(LocationManager.java:579)
08-26 18:11:53.080: E/AndroidRuntime(30915): at android.location.LocationManager.requestLocationUpdates(LocationManager.java:446)
08-26 18:11:53.080: E/AndroidRuntime(30915): at it.helloworld.tour.Servizio$Esegui.run(Servizio.java:64)
08-26 18:11:53.080: E/AndroidRuntime(30915): at java.util.Timer$TimerImpl.run(Timer.java:284)
08-26 18:12:21.040: I/Process(30915): Sending signal. PID: 30915 SIG: 9