Приложение не работает в устройстве, но работает в симуляторе в Blackberry - PullRequest
0 голосов
/ 21 сентября 2011

У меня есть одно приложение, с помощью которого я заблокирую приложение переднего плана. Это означает, что когда я нажимаю на любой значок на главном экране, он не должен запускаться. И мое приложение работает в фоновом режиме и запустится, когда телефон начнет загружаться. Поэтому я проверил автозапуск при запуске. Это работает нормально в симуляторе, но не работает в устройстве после запуска файла cod. Я бегу в Blackberry Storm. Здесь я помещаю свой код:

public class BlockApplication extends Application 
{
    int mForegroundProcessId = -1;

public BlockApplication() {
    Timer timer = new Timer();
    timer.schedule(mCheckForeground, 1000, 1);                       
}


public static void main(String[] args) {
    BlockApplication app = new BlockApplication();
    app.enterEventDispatcher();
}


TimerTask mCheckForeground = new TimerTask() {
    public void run() {
        int id = getForegroungProcessID();
        ApplicationManager appMan = ApplicationManager.getApplicationManager();
    appMan.requestForegroundForConsole();
        KeyEvent inject = new KeyEvent(KeyEvent.KEY_DOWN, Characters.ESCAPE, 0);
       inject.post();

    };
};


private int getForegroungProcessID() 
{
    return ApplicationManager.getApplicationManager().getForegroundProcessId();
}

}

Может ли кто-нибудь помочь? В чем проблема?

1 Ответ

1 голос
/ 21 сентября 2011

Просто идея - настроили ли вы разрешения для своего приложения?

Например, ваше приложение использует KeyEvent инъекцию - то, что потенциально опасно и поэтому требует явного разрешения от пользователя.В разделе «Параметры устройства» (на моем симуляторе Storm 9530 он находится в «Параметры» -> «Параметры безопасности» -> «Разрешения приложения» -> выберите приложение -> пункт «Редактировать разрешения») разрешение для инъекции KeyEvent равноназывается как «Моделирование ввода».Также можно настроить разрешения для приложения программным способом (для этого отметьте класс ApplicationPermissionsManager, также вы можете просмотреть проект ApplicationPermissionsDemo, который входит в состав JDE).

Обратите внимание, что моделирование невозможноструктура разрешений на симуляторе (симулятор действует так, как будто все разрешения всегда установлены на «Разрешить»), поэтому для проверки разрешений вам необходимо реальное устройство.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...