Перейти к содержанию
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 пользователей онлайн

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