Autore Topic: fix posizione  (Letto 982 volte)

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
fix posizione
« il: 25 Aprile 2012, 15:55:44 CEST »
0
Nella mia applicazione avrei la necessità di prendere la posizione e poi effettuare delle operazioni. Ora il fix della posizione con gps richiede del tempo come faccio ad attendere di avere la posizione prima di effettuare le operazioni post fix? se sono in luoghi chiusi il gps non funziona ho provato ad utilizzare NETWORK_PROVIDER ma non funziona avete suggerimenti?

Offline matis80

  • Nuovo arrivato
  • *
  • Post: 8
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy s2
  • Sistema operativo:
    Windows 7
Re:fix posizione
« Risposta #1 il: 25 Aprile 2012, 16:11:25 CEST »
0
ciao andri prova a vedere questo tutorial
http://www.anddev.it/index.php/topic,15.0.html

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:fix posizione
« Risposta #2 il: 25 Aprile 2012, 17:02:18 CEST »
0
ti ringrazio....gli do un'occhiata e spero mi sia utile!

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:fix posizione
« Risposta #3 il: 25 Aprile 2012, 17:07:45 CEST »
0
ho letto la guida ma non ho trovato utili risposte al mio problema.

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:fix posizione
« Risposta #4 il: 26 Aprile 2012, 12:46:50 CEST »
0
Vi spiego bene il mio problema. La mia applicazione deve inviare ad un server delle informazioni tra le quali la posizione gps. Io ho scritto questa funzione per poter prendere la posizione

private void updateLocation() {
       
        lManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
        lListener = new LocationListener() {
             
            public void onStatusChanged(String provider, int status, Bundle extras) {
                // TODO Auto-generated method stub
            }
             
            public void onProviderEnabled(String provider) {
                // TODO Auto-generated method stub
            }
             
            public void onProviderDisabled(String provider) {
                // TODO Auto-generated method stub
            }
             
            public void onLocationChanged(Location loc) {
                // TODO Auto-generated method stub
                location = loc;
            }
        };
       
        lManager.requestLocationUpdates(LocationManager.GPS_PROVIDER , 0, 0, lListener);
    }

quindi l'applicazione chiamerà nell'ordine prima questa funzione updateLocation e poi una funzione che invia le informazioni. Ora dopo la chiamata della funzione updateLocation subito invia i dati senza però aspettare il fix della posizione e quindi in location avrò null. Come posso risolvere il problema? C'è un modo per prendere attendere che la posizione sia presa?

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:fix posizione
« Risposta #5 il: 26 Aprile 2012, 19:06:47 CEST »
0
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline djdedo

  • Utente normale
  • ***
  • Post: 209
  • Respect: +15
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
Re:fix posizione
« Risposta #6 il: 27 Aprile 2012, 18:17:32 CEST »
0
La funzione che invia i dati la devi inserire nell'onLocationChanged del locationListener

Offline adri

  • Utente junior
  • **
  • Post: 62
  • Respect: 0
    • Mostra profilo
Re:fix posizione
« Risposta #7 il: 27 Aprile 2012, 21:05:52 CEST »
0
Sì ho risolto proprio una mezz'ora fa....grazie mille ragazzi!