1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

LocationManager Problem

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ben56a, 23.04.2012.

  1. ben56a, 23.04.2012 #1
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    0
    Registriert seit:
    15.08.2010
    Hallo,

    Code:
    public GPSManager(Context cntx)
    {
    		context = cntx;
    		/* Use the LocationManager class to obtain GPS locations */
    		
    	    
    		String provider = LocationManager.GPS_PROVIDER;
    	
    	        LocationManager locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE);
    	
    	        MyLocationListener loc = new MyLocationListener();
    	        
    	        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, loc);
    	        locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, loc);
     }
    
    	public double GetLat()
    	{
    		return latitude;
    	}
    	
    	public double GetLon()
    	{
    		return longitude;
    	}
    	   
    Location Listener:
    Code:
    public class MyLocationListener implements LocationListener
    	{
    
    		@Override
    		public void onLocationChanged(android.location.Location loc) 
    		{
    			latitude = loc.getLatitude();
    			longitude = loc.getLongitude();
    			Toast msg = Toast.makeText(context, latitude+":"+longitude, Toast.LENGTH_LONG);
    			msg.show();
    		}
    
    		
    		@Override
    		public void onProviderDisabled(String provider)
    		{	
    		}
    
    		@Override
    		public void onProviderEnabled(String provider)
    		{
    		}
    
    		@Override
    		public void onStatusChanged(String provider, int status, Bundle extras) 
    		{
    		}
    	}
    
    Das Problem ist, dass die Methoden GetLat und GetLon immer 0.0 zurückgeben!

    ich habe alles mögliche versucht, leider ohne Erfolg. Hat jemand eine Idee, woran es liegen könnte?
     
  2. BFK, 24.04.2012 #2
    BFK

    BFK Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Was bekommst du bei onLocationChanged beim Toast..?
     
  3. ben56a, 24.04.2012 #3
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    0
    Registriert seit:
    15.08.2010
    der Toast wird nicht angezeigt, da die Funktion onLocationChanged nie aufgerufen wird.
     
  4. strider, 24.04.2012 #4
    strider

    strider Erfahrener Benutzer

    Beiträge:
    208
    Erhaltene Danke:
    45
    Registriert seit:
    30.09.2011
    Phone:
    Nexus S
    Ich geh mal davon aus das:
    - du versuchst es nicht auf dem Emulator
    - du hast eine SIM Karte in deinem Smartphone
    - du hast in den Einstellungen GPS Aktiviert, und Positionsbestimmung durch AGPS zugelassen
    - du hast die ACCESS FINE LOCATION Permission
    - du bist nicht in einem Thread

    Dann sollte onLocationChanged eigentlich relativ flott nach einigen Sekunden durch updates des NETWORK_PROVIDER ausgelöst werden. GPS dauert ein wenig länger. Du kannst ja auch noch einen GPSstatusListener dranhängen um zu sehen ob er Satelliten findet und einfach noch nicht genug für einen fix hat.
     
  5. ben56a, 24.04.2012 #5
    ben56a

    ben56a Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    91
    Erhaltene Danke:
    0
    Registriert seit:
    15.08.2010
    ich benutze das Sony Ericsson XPERIA
    Simkarte ist drin!
    Ist aktiviert und zugelassen! und selbst wenn GPS nicht aktiviert wäre, müsste doch eine Lokalisierung über das Netz (WLAN) stattfinden oder?
    drin!
    ich starte meinen GPSManager, welcher für das ermitteln der Coordinaten zuständig sein soll aus dem Hauptthread.
     
  6. BFK, 25.04.2012 #6
    BFK

    BFK Erfahrener Benutzer

    Beiträge:
    160
    Erhaltene Danke:
    10
    Registriert seit:
    08.12.2010
    Nicht unbedingt. Soweit ich es testen könnte (gebe zu habe mich nicht sehr mit diesem Thema befasst) funktioniert die Lokaliesierung über das Netzt nicht immer. Zudem ist es ja noch sehr ungenau. Probier mal kurz ob du nur über das GPS ein Signal bekommst.

    Und starte mal Google Maps und siehe ob du da ein Signal bekommst..!
     

Diese Seite empfehlen