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

как узнать из сервиса запущено ли основное приложение?


fsdb

Вопрос

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

Как узнать из сервиса запущено ли основное приложение? допустим я в сервисе слежу за критичными параметрами и раз в минуту посылаю http запрос, и если приложение не запущено посылаю в шторку уведомление. если приложение запущено, то смысла нет в сервисе посылать сообщения в шторку. и собственно хочу из сервиса хочу знать - как узнать из сервиса запущено ли основное приложение?

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

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

Вам, судя по описанию задачи, не нужно знать, запущено ли хост приложение.

Понадобится компонент TNotificationCenter.

Пример работы из библиотеки примеров можно посмотреть в Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidNotificationServiceDemo\.

 

 

  • 0
Опубликовано
8 часов назад, Pax Beach сказал:

Вам, судя по описанию задачи, не нужно знать, запущено ли хост приложение.

Понадобится компонент TNotificationCenter.

А как он поможет? Он ведь только в шторки сообщения отсылает в независимости открыто приложение или нет. А автор темы, как я понял, хочет отправлять в шторку только когда приложение не запущено... что собственно логично

  • 0
Опубликовано
1 час назад, Rusland сказал:

А как он поможет? Он ведь только в шторки сообщения отсылает в независимости открыто приложение или нет. А автор темы, как я понял, хочет отправлять в шторку только когда приложение не запущено... что собственно логично

Ну как же! Нужно посмотреть пример.

Если приложение запущено, оно сразу обрабатывает сообщение сервиса.

Если приложение не запущено, появляется уведомление, что пришло сообщение или бандл (тоже сообщение) и стоит его принять в приложении.

Альтернатива:

1. использование интент-фильтра, тогда приложение либо будет запускаться, когда пришло сообщение, либо обрабатываться в приложении, если оно уже запущено.

2. Broadcast Receiver — принимаем сообщения, когда форма активна, выключаем приемник, когда форма скрыта.

 

  • 0
Опубликовано
Только что, Pax Beach сказал:

Ну как же! Нужно посмотреть пример.

Запустил пример  \Device Sensors and Services\AndroidNotificationServiceDemo\

Вне зависимости от того запущено приложение или нет, сообщение отправляется в шторку

  • 0
Опубликовано
3 минуты назад, Rusland сказал:

Вне зависимости от того запущено приложение или нет, сообщение отправляется в шторку

Ну если этот факт неприемлем — тогда альтернатива )

  • 0
Опубликовано
3 минуты назад, Pax Beach сказал:

 тогда альтернатива )

 

11 минуту назад, Pax Beach сказал:

Альтернатива:

1. использование интент-фильтра, тогда приложение либо будет запускаться, когда пришло сообщение, либо обрабатываться в приложении, если оно уже запущено.

 

Код  пожалуйста :)

 

  • 0
Опубликовано (изменено)
9 минут назад, Rusland сказал:

Код  пожалуйста :)

Я пользуюсь BroadcastReceiver, выше привел ссылку на пример с реализацией.

Логика такая — если приложение не запущено (BroadcastReceiver не зарегистрирован), оно просто не получает сообщения, и не шлет в ответ ничего, если это нужно.

Качай и пользуйся =)

 

Изменено пользователем Pax Beach

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

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

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

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

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

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

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

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

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

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