Вы можете приблизиться к нему, но 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-записью может быть осуществлен только из одного набора MID-летов (вы можете упаковать несколько MID-летов в один файл .jar). Код для создания потока данных поставщика / потребителя по файловому соединению еще более уродлив и вызовет проблемы с безопасностью.
Без дополнительной информации о том, для чего вы хотите его использовать, мой ответ: возможно, но вам, вероятно, не стоит пытаться.