Как одновременно запустить приложение фоновой службы и приложение UIApplication - PullRequest
1 голос
/ 24 апреля 2011

Я хочу запустить приложение фоновой службы и приложение UIApplication одновременно.

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

На самом деле я запутался в том, как вызвать или запустить фоновую службу в потоке событий.

Ответы [ 2 ]

7 голосов
/ 24 апреля 2011

Вот как вы можете настроить альтернативную точку входа для вашего приложения:

A- Использование подключаемого модуля BlackBerry® Java® для Eclipse®

После создания проекта для исходного приложения создайте альтернативную точку входа для запуска пользовательского интерфейса приложения.

1 - Двойной щелчок на BlackBerry_App_Descriptor.xml в вашем проекте.
2 - Отключите системный модуль и не отображайте значок приложения на главном экране BlackBerry.
3-Щелкните на вкладке «Альтернативная точка входа».
4- Нажмите кнопку Добавить.
5- Введите заголовок для точки входа и нажмите ОК.
6- Укажите аргумент приложения, который будет запускать приложение с использованием этой альтернативной точки входа (например, GUI).
7- Перейдите к разделу Общие шаги.
8- Измените метод main () исходного проекта следующим образом:

public static void main(String[] args) {
     if ( args != null && args.length > 0 && args[0].equals("gui") ){
          // code to initialize the app
          theApp.enterEventDispatcher();
     } else {
          // code to launch the background thread }
     }
}



B- Использование BlackBerry JDE

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

1- Щелкните правой кнопкой мыши узел проекта и выберите Свойства.
2- В окне «Свойства» выберите вкладку «Приложение».
3- Убедитесь, что установлены следующие параметры: Автозапуск при запуске и Системный модуль (для регистрации потока в системе).
4 - Создайте другой проект в той же папке, что и исходный проект. Щелкните правой кнопкой мыши новый узел проекта и выберите «Свойства».
5- Откройте вкладку «Приложение» и выберите «Альтернативная точка входа приложения CLDC» в раскрывающемся списке «Тип проекта». Как показано в прикрепленном файле, выберите имя исходного проекта (например, Trafficreporter) из альтернативной точки входа для раскрывающегося списка. Также укажите аргументы, которые будут запускать приложение, используя эту альтернативную точку входа (например, GUI). Перейдите к разделу Общие шаги.
6 - Измените метод main () исходного проекта следующим образом:

public static void main(String[] args) {
     if ( args != null && args.length > 0 && args[0].equals("gui") ){
          // code to initialize the app
          theApp.enterEventDispatcher();
     } else {
          // code to launch the background thread }
     }
}
1 голос
/ 24 апреля 2011

http://supportforums.blackberry.com/t5/Java-Development/Background-thread-for-push-notifications/td-p/563071

Форумы разработчиков Blackberry полны потоков и примеров кода для достижения этой цели.

Лично я использую метод альтернативной точки входа, запускаю фоновое приложение как автозапуск UiApplication (без значка), который никогда не выдвигает главный экран, но использует свой собственный поток диспетчеризации для вызова диалогового окна или аналогичных уведомлений, а затем, когда нажата / нажата настоящая иконка «Домой», я запускаю точку входа пользовательского интерфейса, чтобы играть с пользователем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...