Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

"Kein GPS-Signal"...wo abfangen..?

Das Thema ""Kein GPS-Signal"...wo abfangen..?" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 26.11.2011, 12:46   #1 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 08.12.2010
Beiträge: 107
Abgegebene Danke: 14
Erhielt 5 Danke für 5 Beiträge
Standard "Kein GPS-Signal"...wo abfangen..?

Hallo Forum,
Ich versuche grad folgendes einfaches in einer Activity zu testen.
Ich will die Geschwindigkeit vom GPS-Signal am Tele anzeigen lassen. Das ist auch kein Problem.
In der onLocationChanged-Methode kann ich einfach die Geschwindigkeit abfangen und in einer TxtView ausgeben.

Mein Problem ist jetzt, dass wenn es kein GPS-Signal gibt die TxtView nen Wert anzeigt, der ja falsch ist (ist ja der vorrige Wert).
Wie könnte ich hier vorgehen..?
Also wo könnte ich denn abfangen, dass es kein Signal gibt um darauf zu reagieren..? (Vielleicht bei der onStatusChanged-Methode..?)

Danke schon im Voraus ..!
-MFG BFK-
BFK ist offline   Mit Zitat antworten
Alt 26.11.2011, 13:26   #2 (permalink)
Android-Hilfe.de Mitglied

Modell: Nexus S

Registriert seit: 30.09.2011
Beiträge: 137
Abgegebene Danke: 8
Erhielt 35 Danke für 33 Beiträge
Standard AW: "Kein GPS-Signal"...wo abfangen..?

Du könntest die Geschwindigkeit erst anzeigen lassen wenn genug Satelliten für einen fix erfasst wurden.
strider ist offline   Mit Zitat antworten
Alt 26.11.2011, 14:40   #3 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 08.12.2010
Beiträge: 107
Abgegebene Danke: 14
Erhielt 5 Danke für 5 Beiträge
Standard AW: "Kein GPS-Signal"...wo abfangen..?

Zitat:
Zitat von strider Beitrag anzeigen
Du könntest die Geschwindigkeit erst anzeigen lassen wenn genug Satelliten für einen fix erfasst wurden.
Nee, das ist ja nicht das Problem. Ich meine wenn es ein Signal gibt, dann wird die Geschwindigkeit schon richtig angezeigt. Aber wenn ich z.B. mit meinem handy in ein Gebäude reingehe, dann steht da ja die Geschwindigkeit des vorrigen Zeitpunkts (also den Zeitpunkt mit dem letzten GPS-Signal).

Gut wäre den Speed-Wert in diesem Fall ja auf 0 zu setzen, da es ja kein Signal mehr gibt..!
BFK ist offline   Mit Zitat antworten
Alt 28.11.2011, 00:02   #4 (permalink)
Android Experte
 
Benutzerbild von GMoN

Modell: Motorola Atrix 4G / XOOM 3G Huawei MediaPad / Nexus One

Registriert seit: 01.02.2009
Beiträge: 913
Abgegebene Danke: 73
Erhielt 86 Danke für 62 Beiträge
GMoN eine Nachricht über ICQ schicken
Standard AW: "Kein GPS-Signal"...wo abfangen..?

Zitat:
Zitat von BFK Beitrag anzeigen
Also wo könnte ich denn abfangen, dass es kein Signal gibt um darauf zu reagieren..? (Vielleicht bei der onStatusChanged-Methode..?)
Genau dort. Ich musste mir auch was basteln, als ich festgestellt habe, das ewig die letzten Koordinaten angezeigt werden, wenn der GPS Fix verloren geht. Man kann abfragen, wann der letzte GPS Fix war. In meinem Fall schalte ich nach 10 Sekunden ohne GPSFix vom GPS Provider, auf den Networkprovider um, Du kannst dann ja die Geschwindigkeit auf 0 setzen. So sieht mein onGPSStatusChange aus:

Code:
		 private final Listener onGpsStatusChange=new GpsStatus.Listener() {
			    public void onGpsStatusChanged(int event) {
			    	Log.i(TAG, "GpsStatusChange = "+event);
					switch (event) {
			            case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
			                if (mLastLocation != null)
			                    isGPSFix = (SystemClock.elapsedRealtime() - mLastLocationMillis) < 10000;
			                //Log.i(TAG, "isGPSFix = "+isGPSFix);

			                if (isGPSFix) { // A fix has been acquired.
			                	if (!Coarse_off){
			                		lm.removeUpdates(locationListenerCoarse);
			                		Coarse_off = true;
			                		Log.i(TAG, "locationListenerCoarse removed");
			                	}
			                } else { // The fix has been lost.
			                	if (Coarse_off & lm.isProviderEnabled("network") & networkgps){
			                		Coarse_off = false;
			                		//Criteria CoarseCriteria = new Criteria();
			                        //CoarseCriteria.setAccuracy(Criteria.ACCURACY_COARSE);
			                		lm.requestLocationUpdates(
			                	            lm.NETWORK_PROVIDER, 
			                	            1000, 
			                	            0, 
			                	            locationListenerCoarse);
			                		Log.i(TAG, "locationListenerCoarse started");
			                	}
			                	if (Coarse_off) {
			                	gps_lat = gps_lon = "NaN";
			                	gps_acc = 9999;
			            		speed = "--- km/h";
			                	}
			                }

			                break;
			            case GpsStatus.GPS_EVENT_FIRST_FIX:
			                // Do something.
			                isGPSFix = true;

			                break;
			        }
			    }
			};
__________________
G-MoN Wardriving Tool für Android
G-MoN auf Twitter
Mein Blog über Android, Mac and more
GMoN ist offline   Mit Zitat antworten
Alt 30.11.2011, 18:00   #5 (permalink)
Android-Hilfe.de Mitglied

Registriert seit: 08.12.2010
Beiträge: 107
Abgegebene Danke: 14
Erhielt 5 Danke für 5 Beiträge
Standard AW: "Kein GPS-Signal"...wo abfangen..?

Danke GMoN für deine Antwort.

Also meine onStatusChanged-Methode sieht jetzt so aus..:
Code:
@Override
        public void onStatusChanged(String arg0, int status, Bundle arg2) {
            
            
            if(status == LocationProvider.TEMPORARILY_UNAVAILABLE)
            {
//                Log.i(GPSTracker.EASY_TRACKER,"GPS TEMPOR. Not Available");
                Toast.makeText(getApplicationContext(), "TEMP UNAVAILABLE", Toast.LENGTH_LONG).show();
                
                
            }
            else if(status == LocationProvider.OUT_OF_SERVICE)
            {
                Toast.makeText(getApplicationContext(), "OUT OF SERVICE", Toast.LENGTH_LONG).show();
            }
            else if(status == LocationProvider.AVAILABLE)
            {
                Toast.makeText(getApplicationContext(), "AVAILABLE", Toast.LENGTH_LONG).show();
            }
            
            
            
        }
Habe das so getestet und leider kam gar keiner Toast-Meldung, obwohl ich paar mal kein GPS-Signal hatte...!

Wieso..?

Und wie ich von deinem Code sehe, benutzt du nicht denselben onStatusListener, denn ich benutze. Meiner war in der
Code:
private class MyLocationListener implements LocationListener
    {...}
Klasse dabei als Override-Method, weil ich ja das LocationListener-Interface benutze.
Wo ist da der Unterschied..?

Laut Android doku, sollte das ja gehen.
BFK ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
GPS-Problem beim HTC Desire: Signal "hüpft", geht verloren Haguero HTC Desire Forum 1 28.02.2011 21:41
Drücken der "Back" Taste abfangen r4in Android App Entwicklung 1 27.01.2011 10:53
Ploetzlich kein "Mein Standort" - weder ueber WiFi/Mobilfunk und/oder GPS seabunny HTC Wildfire Forum 2 26.10.2010 12:27
HTC Legend findet kein GPS-Signal / keine GPS-Verbindung Errschaffer HTC Legend Forum 4 06.05.2010 14:18




Du liest gerade: ""Kein GPS-Signal"...wo abfangen..?" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.