LocationManager Problem

B

ben56a

Ambitioniertes Mitglied
0
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?
 
Was bekommst du bei onLocationChanged beim Toast..?
 
der Toast wird nicht angezeigt, da die Funktion onLocationChanged nie aufgerufen wird.
 
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.
 
strider schrieb:
Ich geh mal davon aus das:
- du versuchst es nicht auf dem Emulator
ich benutze das Sony Ericsson XPERIA
strider schrieb:
- du hast eine SIM Karte in deinem Smartphone
Simkarte ist drin!
strider schrieb:
- du hast in den Einstellungen GPS Aktiviert, und Positionsbestimmung durch AGPS zugelassen
Ist aktiviert und zugelassen! und selbst wenn GPS nicht aktiviert wäre, müsste doch eine Lokalisierung über das Netz (WLAN) stattfinden oder?
strider schrieb:
- du hast die ACCESS FINE LOCATION Permission
drin!
strider schrieb:
- du bist nicht in einem Thread
ich starte meinen GPSManager, welcher für das ermitteln der Coordinaten zuständig sein soll aus dem Hauptthread.
 
ben56a schrieb:
Ist aktiviert und zugelassen! und selbst wenn GPS nicht aktiviert wäre, müsste doch eine Lokalisierung über das Netz (WLAN) stattfinden oder?

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..!
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
765
jogimuc
J
S
Antworten
4
Aufrufe
990
Sempervivum
S
R
Antworten
3
Aufrufe
1.614
Ritartet
R
Zurück
Oben Unten