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

GPS onLocationChanged & Toast Nachrichten

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von K2DaC, 05.07.2010.

  1. K2DaC, 05.07.2010 #1
    K2DaC

    K2DaC Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    Hab mal ne frage zu onLocationChanged. Hab bei google nur infos gefunden, dass alle probleme haben das überhaupt zum laufen zu bekommen etc. Bei mir will das garnicht mehr aufhören.

    Kurze beschreibung :

    Hab ne DB die GPS positionen speichert, also eine art tracking system. Funktioniert auf meinem Galaxy I5700 auch ... GPS Infos werden abgerufen, in die DB gespeichert, und als Toast auf dem Screen angezeigt.
    Das problem ist jetzt, der will garnichtmehr aufhören. Egal ob ich mein App beende oder GPS ausschalte, ich bekomme trotzdem laufend, egal ob im Homescreen oder in einem anderen App, diese Toast Nachricht und die Position wird geändert ...

    hier mein Code :
    Code:
    private final LocationListener locationListener = new LocationListener() {
            public void onLocationChanged(Location l) {
              locationManager.removeUpdates(locationListener);
              locationManager.requestLocationUpdates("gps",
                    15000, 
                    1,   
                    locationListener);
              GPSData gpsData = new GPSData();
              gpsData.setFid(fid);
              gpsData.setLatitude(String.valueOf(l.getLatitude()));
              gpsData.setLongitude(String.valueOf(l.getLongitude()));
              gpsData.setSynchronized(false);
              db.insertObject(gpsData);
              String messageString = "Lat: " + String.valueOf(gpsData.getLatitude()) + " Lon: " + String.valueOf(gpsData.getLongitude());
            Toast msg = Toast.makeText(Ride.this, messageString, Toast.LENGTH_SHORT);
            msg.setGravity(Gravity.CENTER, msg.getXOffset() / 2, msg.getYOffset() + 100);
            msg.show();
    
            }
    
            public void onProviderDisabled(String provider){}
            public void onProviderEnabled(String provider) {}
            public void onStatusChanged(String provider, int status, Bundle extras){}
      };
    
    
    Jetzt ist meine Frage : Ruft der wirklich weiter GPS Daten ab ? wie schalte ich das ab ? Oder habe ich hier Android mit den Toast Nachrichten einfach nur überfordert ? Am Ende meines kurzen tracking Ausflugs ware es 312 GPS positionen (hier muss ich noch ran, viel zu viele für nen paar hundert meter ;D ) Aber kann es sein dass der garnicht mehr getrackt hat sondern nur noch die nächsten 5min damit beschäftigt war, die ganzen Toasts auf den Screen zu bringen ?
    Die Toast Nachrichten sollen am ende eigentlich eh raus ... ist nur für mich, damit ich sehe ob auch was passiert.
    Jemand ähnliche sachen beobachtet ?
     
  2. MichaelS, 05.07.2010 #2
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    die toast nachrichten, werden in eine queue gelegt.. sprich wenn du aufeinmal 1000 hinzufügst, blinkt es ne weile ;)
     
    K2DaC bedankt sich.
  3. K2DaC, 05.07.2010 #3
    K2DaC

    K2DaC Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    12
    Registriert seit:
    04.06.2010
    Das ist gut zu wissen :) Tracking funktioniert jetzt einwandfrei, habs halt auf textView's gelegt, so geht das wunderbar ohne noch ewig mit Toast's bombardiert zu werden.

    OT : Nachdem ich jetzt auch Lat und Lon im Code korrekt und nicht vertauscht abspeichere, lande ich nicht mehr im Meer östlich von Afrika *g*
     

Diese Seite empfehlen