Перейти к содержанию
Fire Monkey от А до Я
  • 0

LocationSensor.Sensor.State используется?


krapotkin

Вопрос

Опубликовано

Прицепился к LocationSensor.OnStateChanged. Хотел получать статус GPS на телефоне.

По другим событиям тоже проверяю состояние LocationSensor.Sensor.State

 

StateChanged, видимо, не вызывается, State всегда Ready независимо, включен GPS или нет

Это стандартное поведение?

Рекомендуемые сообщения

  • 0
  • Модераторы
Опубликовано

чтобы получить статус GPS (для Android) включен или нет, нужно использовать следующий код

function CheckGPSActive: boolean;
// uses
// Androidapi.JNIBridge, Androidapi.JNI.Location,  Androidapi.JNI.JavaTypes,
// Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers
{$IFDEF ANDROID}
var
  LocManagerObj: JObject;
  LocationManager: JLocationManager;
  allProviders: JList;
  I: Integer;
begin
  Result := false;
  // запрашиваем сервис Location
  LocManagerObj := SharedActivityContext.getSystemService(TJContext.JavaClass.LOCATION_SERVICE);
  if Assigned(LocManagerObj) then
  begin
    // получаем LocationManager
    LocationManager := TJLocationManager.Wrap((LocManagerObj as ILocalObject).GetObjectID);
    if Assigned(LocationManager) then
    begin
      // запрашиваем список всех провайдеров
      allProviders := LocationManager.getProviders(true);
      // выводим список
      if Assigned(allProviders) then
      begin
        with TStringList.Create do
        begin
          for I := 0 to allProviders.size - 1 do
            Add(JStringToString(allProviders.get(I).toString));
          if ((IndexOf('gps') >= 0) or (IndexOf('network') >= 0)) then
            Result := true;
          Free;
        end;
      end;
    end;
  end;
{$ELSE}

begin
  Result := false;
{$ENDIF}
end;

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...