2017-09-10 5 views
0
ändern

meine app die Lage lange und lat zeigt und es funktioniert gutFiremonkey Standort Sensorstatus dont

, aber wenn ich den Standort Sensorstatus gerne auf haben zu erkennen, der, arbeiten, Fehler, ... es habe ein Problem

meine Idee dieser Code war:

Case LocationSensor1.Sensor.State of 
     TSensorState.Added : label5.Text:='2'; 
     TSensorState.Removed : label5.Text:='3'; 
     TSensorState.Initializing : label5.Text:='4'; 
     TSensorState.Ready : label5.Text:='ready'; 
     TSensorState.NoData : label5.Text:='6'; 
     TSensorState.AccessDenied : label5.Text:='7'; 
     TSensorState.Error : label5.Text:='8'; 
     else label5.Text:='error'; 
    End; 

, aber wenn ich auf ein- oder auszuschalten den gPS ist es ready jedes Mal

Wie kann ich den Status des GPS-Sensors erkennen und anzeigen?

Antwort

0

Sie müssen eine Klasse erstellen, die die Klasse LocationListener erweitert. Sie werden über die Änderungen des GPS-Status durch zwei Rückruffunktionen informiert: onProviderEnabled, die bei aktivierter GPS-Funktion aufgerufen wird, und onProviderDisabled, wenn diese Funktion deaktiviert ist.

Um Ihren Listener zu registrieren, verwenden Sie ((LocationManager) getApplicationContext().getSystemService(Context.LOCATION_SERVICE)).requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, myLocationListener); .

+0

wo muss diese Klasse registriert werden? Ich muss den aktuellen Status des Standort-Sensors wissen, vielleicht aktiviert Benutzer die GPS vor dem Ausführen meiner App? !! –

+0

Ihre App muss zuhören, daher muss der Listener registriert sein ... Wenn das GPS bereits eingeschaltet ist, werden Ihnen Standortänderungen in der Call-Funktion "OnLocationChanged" zur Verfügung gestellt. – Zelig63

+0

Oder Sie sollten die 'GpsStatus.Listener' Klasse verwenden. – Zelig63