1) Вы можете использовать java.util.Timer для универсального таймера, его обратные вызовы будут происходить вне EDT, поэтому для использования LWUIT вам просто нужно будет выполнить обратный вызов в EDT, используя Display.getInstance().callSerially()
и иметь свой код в пределах Runnable
обратный вызов.
2) Чтобы не блокировать ввод и отображать ненавязчивым образом, вы можете использовать стекло, чтобы просто показать полупрозрачный элемент в верхней части экрана. Это никак не заблокирует ввод. Пример этого есть в демонстрационном приложении LWUIT Chat.
3) Вы не можете. Фоновое выполнение процесса на самом деле не поддерживается ни на одном устройстве, все устройства имеют специальное «основанное на сценариях» решение для фонового выполнения, которое требует от вас написания приложений очень специфическим способом. Codename One добавит поддержку push-уведомлений, которые позволят вам отправить тревогу с вашего сервера. Поначалу швы кажутся интуитивно понятными, но если учесть, сколько времени автономной работы потребляют фоновые процессы, становится совершенно очевидно, почему это было сделано.