Приложение Symbian как фоновый процесс

Можно ли создать Java-приложение, которое будет работать как фоновый процесс на смартфонах Symbian?


person tropikalista    schedule 18.09.2008    source источник
comment
рекомендовал бы указать версию Symbian, если вы ищете хороший ответ.   -  person Ilya Kochetov    schedule 18.09.2008


Ответы (2)


Вы можете аппроксимировать это, но J2ME (версия Java для мобильных телефонов) может быть не подходящей технологией для этого.

  • запуск мидлета (приложения Java для мобильных телефонов) при включенном телефоне в лучшем случае сложен без программирования небольшого модуля Symbian OS C++, который запустит его за вас. Если вы все равно хотите попробовать, посмотрите класс PushRegistry в спецификациях MIDP (http://java.sun.com/javame/reference/apis/jsr118/). API обработки контента также может предоставить способ сделать это (http://java.sun.com/javame/reference/apis/jsr211). Когда вы будете готовы сдаться, сделайте это на C++.

  • Создать фон для мидлета несложно. Клавиша «меню» телефона сделает это за вас. Программно Canvas.setCurrent(null) имеет хорошие шансы на работу. Попытка обмануть телефон, предоставив полностью прозрачный графический интерфейс и не обрабатывая какие-либо действия с клавиатурой, абсолютно не сработает. Создание и запуск отдельного потока в мидлете должно позволить вам поддерживать работу даже после того, как ваша перегрузка MIDlet.pauseApp() была вызвана системой управления приложениями.

  • Настоящая проблема заключается в том, что мидлет не будет иметь системы межпроцессного взаимодействия, если вы ее не создадите. Обычный способ сделать это - соединение с сокетом обратной петли, по которому вы передаете данные. Не очень хороший и эффективный способ имитации IPC. Совместное использование записи RMS может быть выполнено только из одного и того же набора мидлетов (я думаю, вы можете упаковать несколько мидлетов в один и тот же файл .jar). Код для создания потока данных поставщика/потребителя по файловому соединению еще более уродлив и вызовет проблемы с безопасностью.

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

person michael aubert    schedule 18.09.2008

У вас будет встроенная поддержка MIDP для фоновых мидлетов в MIDP 3.0 (http://jcp.org/en/jsr/detail?id=271). Однако не ждите появления устройств — может быть, это произойдет через некоторое время. (Обратите внимание, что некоторые устройства с ОС Symbian имеют не только MIDP — например, SE p990, https://developer.sonyericsson.com/site/global/products/phonegallery/p990/p_p990.jsp).

Как уже отмечалось, может быть полезно иметь больше информации о том, какую функциональность продукта вы пытаетесь внедрить — часто это более чем один способ содрать шкуру с кошки.

person KevinD    schedule 17.10.2008