Класс Task timer выполняет publi c void run () только тогда, когда приложение находится на переднем плане - PullRequest
0 голосов
/ 15 января 2020

Это мой класс. Запускайте метод run () только тогда, когда приложение находится на переднем плане. Если приложение находится на переднем плане и экран отключается, run () выполняется только при повторном включении экрана (если запланированное время уже прошло). Спасибо за вашу помощь

MyTimerCena mycena=new MyTimerCena();
        mycen = new Timer();
        mycen.scheduleAtFixedRate(mycena,delayCena, mill24Ore);

class MyTimerCena extends TimerTask {
    public void run() {

        Calendar calendar = Calendar.getInstance();
        SimpleDateFormat simpleDateFormat =
                new SimpleDateFormat("dd:MMMM:yyyy  -  HH:mm:ss a");
        final String strDate = simpleDateFormat.format(calendar.getTime());

        runOnUiThread(new Runnable(){

            @Override
            public void run() {
                sendMessageBluetooth(porzione);
                listaPorzioni.add(strDate);
               beep();

            }});
    }
}
...