Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#7

AW: Feststellen ob das GPS empfang besteht

  Alt 9. Feb 2018, 13:28
Zitat:
Locationsensor.Active AUS
Also geht es dir darum ob Location aktiv ist, oder ob ein aktiver Location mit korrekten GPS-Ergebnissen arbeitet ?

Ersteres kann man ja abfangen, zweiteres wird schwierig festzustellen ob GPS mal kurz gestört ist weil ein Tesla vorbeifliegt.

Ersteres z.B. so:

Delphi-Quellcode:
function IsGPSActive(useHIGH_ACCURACY: Boolean = False): Boolean;
var
    Provider: string;
    LocationMode: integer;

begin
    if TOSVersion.Check(4, 4) then
    begin
      LocationMode := TJSettings_Secure.JavaClass.getInt(TAndroidHelper.Context.getContentResolver,
        TJSettings_Secure.JavaClass.LOCATION_MODE);
      if HIGH_ACCURACY then //ToDo: Check if this is correct
        Result := LocationMode <> TJSettings_Secure.JavaClass.LOCATION_MODE_HIGH_ACCURACY
      else
        Result := LocationMode <> TJSettings_Secure.JavaClass.LOCATION_MODE_OFF;
    end
    else
    begin
      Provider := JStringToString(TJSettings_Secure.JavaClass.GetString(TAndroidHelper.Context.getContentResolver,
        TJSettings_system.JavaClass.LOCATION_PROVIDERS_ALLOWED));
      if useHIGH_ACCURACY then
        Result := Pos('gps', Provider) > 0
      else
        Result := (Pos('network', Provider) > 0) or (Pos('gps', Provider) > 0);
    end;

end;
Rollo
  Mit Zitat antworten Zitat