ежевика, как планировать приложения - PullRequest
0 голосов
/ 01 декабря 2011

В ежевике мне нужна возможность запускать и закрывать приложения в определенное время дня.Скажите начать в 8:00 утра, а затем закройте приложение в 5:00 вечера.Можно ли запланировать приложения таким образом в Blackberry?

Функциональность, которую я ищу, будет похожа на cron в планировщике Unix или Windows.Я не разработчик.Есть ли приложение, которое обеспечивает функциональность, аналогичную cron или планировщику Windows?

Ответы [ 2 ]

3 голосов
/ 01 декабря 2011

Вы можете использовать функциональность ApplicationManager для планирования запуска приложения:

ApplicationDescriptor descriptor = ApplicationDescriptor.getCurrentApplicationDescriptor();
ApplicationManager manager = ApplicationManager.getApplicationManager();

// Compute the time when it need to be scheduled
long toberuntime;
manager.scheduleApplication(descriptor ,toberuntime,true);

Также отметьте изменения даты и часового пояса, как указано здесь

1 голос
/ 16 октября 2014

Это еще один пример, когда запускаемый объект вызывается каждую минуту.

Обратите внимание, что вам необходимо настроить альтернативную запись для задачи и убедиться, что она запускается при запуске устройства. Диспетчер приложений отвечает за планирование работы.

в этом примере устройство вибрирует каждый раз, когда вызывается фоновый aep.

 public static void main(String[] args)
 {
    // Create a new instance of the application and make the currently
    // running thread the application's event dispatch thread.
    if(args != null && args.length > 0 && "ticker".equals(args[0])){
        scheduleUpdate();

    }else{
        UIapp theApp = new UIapp ();       
        theApp.enterEventDispatcher();
    }
 }

private static void scheduleUpdate() {
    // TODO Auto-generated method stub
    Alert.startVibrate(2550);

    ApplicationDescriptor current = ApplicationDescriptor.currentApplicationDescriptor();

    current.setPowerOnBehavior(ApplicationDescriptor.DO_NOT_POWER_ON);

    ApplicationManager manager = ApplicationManager.getApplicationManager();

    //check if device has booted and is ready..
    if(!manager.inStartup()){
        try{
            TickerUpdateService tickerUpdater = new TickerUpdateService(endpointURL);
            tickerUpdater.start();
        }catch(Exception Ex){
            System.out.println(Ex.getMessage());
        }
    }

    manager.scheduleApplication(current, System.currentTimeMillis() + 60000, true);
}
...