Android таймер или Broadcast

208
30 января 2018, 10:15

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

Timer newTimer = new Timer();
    TimerTask time_to_Srever = new TimerTask() {
        @Override
        public void run() {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    long time_to_server = mSettings.getLong(TimeObn, 0);
                    if (time_to_server != 0) {
                        byte time_delay_Sinhron = (byte) mSettings.getInt(SettingSinhron, 2);
                        switch (time_delay_Sinhron) {
                            case (0):
                                time_to_server += 600000;
                            break;
                            case (1):
                                time_to_server += 1800000;
                            break;
                            case (2):
                                time_to_server += 3600000;
                            break;
                            case (3):
                                time_to_server += 10800000;
                            break;
                            case (4):
                                time_to_server += 21600000;
                            break;
                            case (5):
                                time_to_server += 43200000;
                            break;
                            case (6):
                                time_to_server += 86400000;
                            break;
                            default: break;
                        }
                        long time_Now = System.currentTimeMillis();
                        if (time_Now >= time_to_server) {
                            Sinchron_bd.performClick();
                        }
                    }
                }
            });
        }
    };
    newTimer.schedule(time_to_Srever, 0, 60000);

Это скажем некая "синхронизация", но если пользователь будет находится на другом активити или приложение будет свернуто ну вообщем я боюсь что таймер не сработает, но я не умею работать с Broadcast. И собственно сам вопрос как сделать чтобы подобная "синхронизация" сработала даже если приложение свернуто ну или закрыто. Прошу помощи.

Answer 1

Используйте Services или Job Services. Неплохая краткая статья о планировании задач на Хабре.

READ ALSO
Простой пример работы Firebase в android приложениях

Простой пример работы Firebase в android приложениях

Хочу разобраться с firebase в андроидеДовольно мало туториалов нашел по их бд

248
Проблема при вызове класса JFileChooser через другого класса

Проблема при вызове класса JFileChooser через другого класса

Всем приветРазрабатываю проект в Eclipse на языке программирование Java

251
Невидимая кнопка

Невидимая кнопка

Помогите пожалуйста, столкнулся с непонятной проблемой: Всего есть 3 класca, мне нужно чтобы при переключении на class_0 или class_1 нажатая кнопка...

196