Стало возможно запускать два ява приложения одновременно(переключение происходит X-tasks'ом).
Вторая ява прога запускается за счет того, что мы ломаем главное меню(которое само на яве). Главное меню перестает работать, но за место него мы можем использовать native menu. ИМХО Главное меню не большая потеря, зато получаем две явы! Шаги для полного счастья :
1. Переименовываем папку FlexMenu (дописываем символ);
2. Перезагружаем телефон, главное меню не открывается, выдавая ошибку Internal Error 4, нажимаем джойстик еще раз. Впринципе все готово, уже будут запускаться две явы, но еще осталось сделать вызов Native Menu.
3. Ставим патч, который дает возможность вешать Native Menu на горячие клавиши, например "NativeMenu с названием вместо Управ. лиценз. (NAT_LICENSE_MANAGER)". Теперь можно поставить NativeMenu на горячую клавишу, но нас интересует центр. кнопка джойстика, для этого нужно редактировать файл fak.pd из каталога 1:\Cache\default и ставим шорткат NAT_LICENSE_MANAGER на центральную клавишу.
И еще одна особенность, чтобы работало две явы, нужно обязательно открыть главное меню и увидеть сообщение об ошибке Internal Error 4. Поэтому ставим главное меню на любую ненужную кнопку. Для этого ставил шорткат NAT_MAIN_MENU на любую клавишу.
ВСЁ!!! Теперь вы спокойно можете запускать две явы.
Проверено на s75 sw47, должно работать и на других тел на NewSgold.
Почему даная фишка работает? вот вам обьяснение:
Жаба-машина там одна на всех. Работает это дело примерно так.
1. При первом старте инициализируется жаба-машина и запускается MidletManager (это жаба-приложение) и вечно живет в душе телефона.
2. MidletManager использует класс Isolate для запуска нескольких мидлетов одновременно (интересующиеся могут пойти на сайт Sun). При этом любой запуск мидлета суть посыл сообщения для MidletManager о том, что нужно запустить такой-то мидлет (или класс).
3. При первом старте MidlerManager запускает класс MenuContainer, который и есть собственно флекс-меню. Он инициализируется и остается жить в памяти, занимая один слот.
4. Следующие запуски главного меню только зовут скрытое приложение, а запуски обычных мидлетов происходят в другом слоте.
Если мы убиваем файлы (или нарушаем их целостность), то MenuContainer отваливается по ошибке и освобождает один слот, который далее можно использовать.
Однако, при более глубоком изучении оказалось, что функция, которая возвращает максимальное количество изоляций, возвращает значение 16. Запустить удается только 2 мидлета.
источник www.siemens-club.org