Autore Topic: problema con il gps: non stampa latitudine  (Letto 507 volte)

Offline HyBriiD

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    LG-Optimus
  • Sistema operativo:
    Ubuntu 10.10 - Windows 7, XP
problema con il gps: non stampa latitudine
« il: 15 Luglio 2011, 23:11:10 CEST »
0
ragazzi vi posto un codice scritto di mio pugno che riesce a scrivere su una mia label la latitudine
Codice (Java): [Seleziona]
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import android.location.LocationListener;
import android.location.LocationManager;

import android.location.Location;


public class MiaActivity extends Activity {
    /** Called when the activity is first created. */
       
        private TextView lblLat = null;
        private LocationManager locMng=null;
       
       
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        lblLat = (TextView)this.findViewById(R.id.lblLatitudine);
         
        locMng = (LocationManager)this.getSystemService(LOCATION_SERVICE);
           
        //controllo se il mio servizio è effettivamente attivo sul cellulare
        //se isProviderEnabled restituisce true significa che il gps è attivo

        if(locMng.isProviderEnabled(LocationManager.GPS_PROVIDER)==true){
                Toast.makeText(this, "GPS ATTIVATO", 3000).show();
                locMng.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3, 4, locationListener);
        }
        else{
                Toast.makeText(this, "attivare nel menu il GPS", 3000).show();
        }
               
        }
       
               
 
    LocationListener locationListener = new LocationListener(){

                public void onLocationChanged(Location location) {
                        // TODO Auto-generated method stub
                        double lat = location.getLatitude();
                        lblLat.setText("Latitudine: "+String.valueOf(lat));
                       
                }

                public void onProviderDisabled(String provider) {
                        // TODO Auto-generated method stub
                       
                }

                public void onProviderEnabled(String provider) {
                        // TODO Auto-generated method stub
                       
                }

                public void onStatusChanged(String provider, int status, Bundle extras) {
                       
                       
                       
                }
       
    }; 
   
    @Override
    public void onPause(){
        super.onPause();
        locMng.removeUpdates(locationListener);
       
    }
   
    @Override
    public void onResume(){
        super.onResume();
        locMng.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3, 4, locationListener);
    }
   
}

premetto funziona sull'emulatore se uso l'emulator control di eclipse inviandogli delle coordinate false

il problema è il seguente:
sul mio cellulare non funziona, cioè la condizione isProviderEnabled mi restituisce true infatti riesco a vedere il toast con il suo relativo messaggio ma per agganciare le celle per la triangolazione dei satelliti devo aspettare un tempo eccessivamente lungo, anzi compare il simboletto in alto del gps quando l'app parte ma non mi scrive le coordinate... vivo in una zona dimenticata da dio (e dai satelliti) o posso migliorare questo codice e risolvere il problema?

Offline HyBriiD

  • Nuovo arrivato
  • *
  • Post: 31
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    LG-Optimus
  • Sistema operativo:
    Ubuntu 10.10 - Windows 7, XP
Re:problema con il gps: non stampa latitudine
« Risposta #1 il: 16 Luglio 2011, 00:23:53 CEST »
0
ok problema risolto a quanto pare era il fix che faceva veramente schifo xD.. mi è bastato trovare una applicazione sul market DIVINA che si chiama GpsFix (mi ha fixato dentro casa in 3 minuti!!!) ed ora è tutto a posto... la consiglio a tutti!!!