• 0
SVTX

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

Вопросы

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

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

 

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 ответов на этот вопрос

  • 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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

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

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