2012-05-22 6 views
1

Я работаю в J2ME. Я хочу программно заблокировать устройство. Должен показать только один экран (в котором текстовое поле для пароля и одна кнопка для разблокировки). Если пользователь нажимает кнопку END, то он не должен работать.J2ME: заблокировать устройство программно

Например, предположим, что мое приложение запущено на устройстве (Mobile), а затем, если кто-либо получит это устройство, он должен ввести пароль, тогда он может использовать это устройство, иначе он ничего не сможет сделать (ни позвонить, ни что-либо).

Пожалуйста, предложите, как я могу это сделать.

+1

Вы хотите модальное окно или диалог. Поиск в вашей любимой поисковой системе для «j2me modal screen» должен принести много результатов. Например: http://www.java-tips.org/java-me-tips/midp/how-to-implement-a-modal-alert.html – pap

+1

Г-н Пап, пожалуйста, помогите мне решить функциональность блокировки клавиатуры. Я хочу показать только один экран, и пользователь не сможет завершить этот мидлет. Если он вводит правильный пароль, он может делать все, что захочет. Поэтому, пожалуйста, сосредоточьтесь на блокировке функций. –

+0

Не уверен, что я понимаю, что вы подразумеваете под «... сосредоточиться на блокировке ...». Прошли ли вы НИКАКИЕ исследования по этому поводу? Вы изучали системные модальные диалоги в J2ME? Я имею в виду, я мог бы написать все это для вас, но обычно я обвиняю вас в подобных вещах. Теперь, если есть какая-то конкретная проблема, на которую вы застряли (кроме «как мне сделать X»), отредактируйте свой вопрос и добавьте как можно больше деталей, и, возможно, кто-то может вам помочь. – pap

ответ

1

Извините, что вам не удалось сделать это в J2ME.

+0

Я сделал это сам ... –

1

Я решил эту проблему.

Это основной код, чтобы решить эту проблему: -

protected void hideNotify() { 

     Display.getDisplay(myMidlet).setCurrent(null); 
     super.hideNotify(); 
    Thread thread = new Thread(new Runnable() { 
    public void run() { 

       Display.getDisplay(myMidlet).setCurrent(new LockScreen(myMidlet)); 
      } 
    } 
    ); 
    thread.start(); 


    } 

Я пишу этот код в моем LockScreen холст. Так отображается только экран блокировки, если пользователь нажимает кнопку окончания, тогда он показывает, что блокировка экрана и снова.

+0

правый ... и что делает ваш класс 'LockScreen'? И какое это устройство работает? У устройств J2ME, таких как Nokia S40/S60/Sony Ericsson/Samsung, все имеют жесткие ключи (обычно цветные красные). Нажатие этой клавиши приведет к выходу ** из MIDlet и обратно в родную ОС, откуда вы можете сделать вызов, текст или сделать что угодно. Невозможно переопределить это поведение. – funkybro

+0

Эй @funkybro, как вы знаете, какое-то устройство вроде S60 поддерживает многозадачность, поэтому наше приложение работает в фоновом режиме, даже нажимаем красную кнопку. Итак, когда наш холст LockScreen встряхнут, и мы нажимаем красную кнопку, тогда вызывается hideNotify(), и я добавил поток, который полезен для нашего приложения впереди. Следовательно, наша цель достигнута ... –

+0

S60 имеет кнопку меню, которая при удерживании ведет себя как Alt-Tab, т. Е. Вы можете переключаться между приложениями. Это можно заставить отключить приложения отсюда. Для мидлета нет абсолютно никакого способа предотвратить взаимодействие пользователя с устройством. – funkybro