Обработка связи с использованием сервиса в Blackberry 4.5
Я разрабатываю приложение. (например, Google Talk), который при загрузке телефона запускает фоновый сервис, который постоянно работает. Эта служба взаимодействует с пользовательским интерфейсом (означает, что любой запрос к серверу сначала отправляется из пользовательского интерфейса в службу и от службы к серверу), а любой ответ отправляется в пользовательский интерфейс через службу.
То, что я знаю для запуска фоновой службы при загрузке, это "Создайте альтернативную точку входа и используйте ее для запуска фоновой службы".
щелкните правой кнопкой мыши свойства проекта, затем перейдите на вкладку "Приложение" и выберите "Автозапуск при запуске" / "Системный модуль".
это правильно?
В Android вы можете достичь этого Сервиса, используя системный класс Сервиса. Как этого добиться в Blackberry 4.5? Я хочу сделать это (UI & Service) в одном проекте.
Любое решение?
Спасибо за ответ.
Я получил ссылку для
"Как - настроить альтернативную точку входа для моего приложения"
это правильное решение для запуска службы?
Я хочу приложение. как приложение электронной почты. который будет уведомлять вас о поступлении входящей почты (например, хотя ваше основное приложение свернуто, тогда также работает служба в фоновом режиме, которая будет непрерывно проверять наличие входящей почты и уведомлять основное приложение пользовательского интерфейса при любом изменении значка приложения)
Итак, для этого есть какой-нибудь класс, такой как Service, который будет запускаться при загрузке или "Установка альтернативной точки входа для моего основного приложения UI" - это единственное решение для этого?
Спасибо за ответ..
Я прочитал этот GlobalEveltListener и попытался обработать связь между двумя приложениями (приложение-служба и приложение пользовательского интерфейса), запустив службу при автозапуске.
Я использую "Persistent Store" и получаю доступ к нему в обоих приложениях. Но имя постоянного хранилища должно быть уникальным, иначе оно выдает "Ошибка компоновщика: невозможно запустить приложение службы. Так как постоянное хранилище определено множественно". Но мне нужно получить доступ к постоянному хранилищу обоих приложений, чтобы выполнить некоторые вызовы базы данных.
Так что теперь я пытаюсь обработать Сервис, поместив оба приложения в один проект. Так что постоянный магазин будет уникальным.
Как добиться этого взаимодействия между Service & UI в одном проекте?
2 ответа
Вам нужна альтернативная точка входа только в том случае, если вы хотите, чтобы программа работала как в служебном режиме, начиная с начальной загрузки, так и в фоновом режиме; а в режиме приложения - значок на главном экране, по которому пользователь может щелкнуть, чтобы начать взаимодействие с вашим программным обеспечением. В этом случае вам нужно иметь точку входа, которая сообщает программе "вы запускаете автоматически при загрузке", и ту, которая сообщает программе "вы запускаете в ответ на взаимодействие с пользователем".
Есть и другие способы справиться с этим. Если ваше приложение становится доступным для пользователя через ApplicationMenus, то вы устанавливаете единственную точку входа "Автоматический запуск" и "Системный модуль", чтобы она запускалась при загрузке, регистрировала меню и не отображала значок.
Вы также можете использовать одну точку входа, установленную на "Автозапуск", но не системный модуль, чтобы отображался значок и определялся запуск при загрузке с использованием метода ApplicationManager.inStartup().
Метод, который вы описываете, работает хорошо для типа приложения, которое вы разрабатываете. Это упрощает инициализацию, позволяя указывать разные аргументы для программы в каждой точке входа.
Пожалуйста, посмотрите ответ, который я дал ранее на другой вопрос здесь. По сути, это механизм IPC между двумя запущенными процессами.