Обработка связи с использованием сервиса в Blackberry 4.5

Я разрабатываю приложение. (например, Google Talk), который при загрузке телефона запускает фоновый сервис, который постоянно работает. Эта служба взаимодействует с пользовательским интерфейсом (означает, что любой запрос к серверу сначала отправляется из пользовательского интерфейса в службу и от службы к серверу), а любой ответ отправляется в пользовательский интерфейс через службу.

То, что я знаю для запуска фоновой службы при загрузке, это "Создайте альтернативную точку входа и используйте ее для запуска фоновой службы".

щелкните правой кнопкой мыши свойства проекта, затем перейдите на вкладку "Приложение" и выберите "Автозапуск при запуске" / "Системный модуль".

это правильно?

В Android вы можете достичь этого Сервиса, используя системный класс Сервиса. Как этого добиться в Blackberry 4.5? Я хочу сделать это (UI & Service) в одном проекте.

Любое решение?


Спасибо за ответ.

Я получил ссылку для

"Как - настроить альтернативную точку входа для моего приложения"

это правильное решение для запуска службы?

Я хочу приложение. как приложение электронной почты. который будет уведомлять вас о поступлении входящей почты (например, хотя ваше основное приложение свернуто, тогда также работает служба в фоновом режиме, которая будет непрерывно проверять наличие входящей почты и уведомлять основное приложение пользовательского интерфейса при любом изменении значка приложения)

Итак, для этого есть какой-нибудь класс, такой как Service, который будет запускаться при загрузке или "Установка альтернативной точки входа для моего основного приложения UI" - это единственное решение для этого?


Спасибо за ответ..

Я прочитал этот GlobalEveltListener и попытался обработать связь между двумя приложениями (приложение-служба и приложение пользовательского интерфейса), запустив службу при автозапуске.

Я использую "Persistent Store" и получаю доступ к нему в обоих приложениях. Но имя постоянного хранилища должно быть уникальным, иначе оно выдает "Ошибка компоновщика: невозможно запустить приложение службы. Так как постоянное хранилище определено множественно". Но мне нужно получить доступ к постоянному хранилищу обоих приложений, чтобы выполнить некоторые вызовы базы данных.

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

Как добиться этого взаимодействия между Service & UI в одном проекте?

2 ответа

Вам нужна альтернативная точка входа только в том случае, если вы хотите, чтобы программа работала как в служебном режиме, начиная с начальной загрузки, так и в фоновом режиме; а в режиме приложения - значок на главном экране, по которому пользователь может щелкнуть, чтобы начать взаимодействие с вашим программным обеспечением. В этом случае вам нужно иметь точку входа, которая сообщает программе "вы запускаете автоматически при загрузке", и ту, которая сообщает программе "вы запускаете в ответ на взаимодействие с пользователем".

Есть и другие способы справиться с этим. Если ваше приложение становится доступным для пользователя через ApplicationMenus, то вы устанавливаете единственную точку входа "Автоматический запуск" и "Системный модуль", чтобы она запускалась при загрузке, регистрировала меню и не отображала значок.

Вы также можете использовать одну точку входа, установленную на "Автозапуск", но не системный модуль, чтобы отображался значок и определялся запуск при загрузке с использованием метода ApplicationManager.inStartup().

Метод, который вы описываете, работает хорошо для типа приложения, которое вы разрабатываете. Это упрощает инициализацию, позволяя указывать разные аргументы для программы в каждой точке входа.

Пожалуйста, посмотрите ответ, который я дал ранее на другой вопрос здесь. По сути, это механизм IPC между двумя запущенными процессами.

Другие вопросы по тегам