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

Запуск приложения с параметрами.


SVTX

Вопрос

Суть вопроса - есть визуальное приложение на Delphi + сервис с BroadcastReceiver на Java.

По логике сервис должен запустится автоматически после включения телефона, работать в фоне с минимумом ресурсов и при получении нужного уведомления от системы к примеру - ACTION_USER_PRESENT загружать визуальное приложение на на Delphi.

 

Сразу возник вопрос - в каком направлении копать решение.

Буду благодарен за наводку.

Ссылка на комментарий

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

  • 0

Немного разобрался.

Думаю делать нужно примерно так.

 

в манифесте определить BroadcastReceiver который по BOOT_COMPLETE будет НЕ грузить Делфи приложение, а запускать Сервис написанный опятьже на Java и описанным в томже манифесте. Сам сервис будет висеть в фоне и слушать нужные ему события и только в нужный момент запускать Делфи приложение.

 

Вопрос по сути состоял в том, можно ли было запустить Делфи приложение как Active с параметром, и уже оттуда запускать только сервис а не визуальную часть и завершать работу. (По сути вопрос возник изза того что уже была реализована связка - Делфи-Сервис, и выходит что самое оптимальное решение - это переписать Сервис таким образом чтобы он мог запускатся и работать самостоятельно без Делфи-приложения).

Немного сумбурное вышло описание, по завершению работы отпишусь и может выложу часть рабочего кода.

Ссылка на комментарий
  • 0

я бы посоветовал посмотреть как реализована работа с GCM push уведомлениями. декомпильте cloud-messaging.jar, который в {xe7}\lib\android\debug

откройте в андроид студии например. работа с пушами построена, по сути, как это рекомендует делать Google( https://developer.android.com/google/gcm/client.html ).

т.е. есть  WakefulBroadcastReceiver( com.embarcadero.gcm.notifications.GCMNotification ), который в манифесте подписывается на intent-filter com.google.android.c2dm.intent.RECEIVE.

когда приходит пуш - ресивер его ловит. если имплементирован т.н. listener( в дельфях по указателю назначен обработчик ), то управление передается ему, т.е. дельфи-приложение(основной активити) принимает intent, который пришел от гугла, и обрабатывает пуш. если лисенер не назначен, то стартует IntentService ( https://developer.android.com/reference/android/app/IntentService.html ), который парсит пришедший интент и вызывает публикацию нотификейшена.

 

короч, ковыряем исходники и изучаем Android SDK :)

Ссылка на комментарий
  • 0

я бы посоветовал посмотреть как реализована работа с GCM push уведомлениями. декомпильте cloud-messaging.jar, который в {xe7}\lib\android\debug

откройте в андроид студии например. работа с пушами построена, по сути, как это рекомендует делать Google( https://developer.android.com/google/gcm/client.html ).

т.е. есть  WakefulBroadcastReceiver( com.embarcadero.gcm.notifications.GCMNotification ), который в манифесте подписывается на intent-filter com.google.android.c2dm.intent.RECEIVE.

когда приходит пуш - ресивер его ловит. если имплементирован т.н. listener( в дельфях по указателю назначен обработчик ), то управление передается ему, т.е. дельфи-приложение(основной активити) принимает intent, который пришел от гугла, и обрабатывает пуш. если лисенер не назначен, то стартует IntentService ( https://developer.android.com/reference/android/app/IntentService.html ), который парсит пришедший интент и вызывает публикацию нотификейшена.

 

короч, ковыряем исходники и изучаем Android SDK :)

вот тоже такая же проблема у меня, вот только подход не совсем нравиться , декомпилировать что то , компонент нужно делать )))

Ссылка на комментарий
  • 0

а что должен делать компонент то ?

тут без сервиса не обойтись. а сервис\ресивер - сугубо нативные ведро-фишки. как ты их "завернешь" в компонент, если это автономные сущности, которые в добавок еще и в манифестах  прописываются ? Плюс в ведре есть разные сервисы, разные ресиверы, которые по-разному "кодятся".

было бы конечно шикарно, чтобы в дельфях можно было писать такие сервисы, по типу как в вин-приложениях.

Но, по сути, лучше изучить сдк, и написать самому, потому как можно и не дождаться :)

Ссылка на комментарий

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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