-
vizort
- Сообщения: 49
- Зарегистрирован: 02 мар 2013, 22:43
Сообщение
vizort » 07 апр 2014, 20:19
У меня есть простенький
Service
Код: Выделить всё
public class UpdateService extends Service {
private int seconds;
final static String MY_ACTION = "MY_ACTION";
@Override
public void onCreate() {
super.onCreate();
}
@Override
public void onStart(Intent intent, int startId) {
timer.start();
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
final CountDownTimer timer = new CountDownTimer(86400000, 1000) {
public void onTick(long millisUntilFinished) {
Util.saveInfo(getApplicationContext(), Util.SECONDS, seconds++);
Intent intent = new Intent();
intent.setAction(MY_ACTION);
sendBroadcast(intent);
}
public void onFinish() { }
};
}
Когда я закрываю приложение он перестает работать
Хотя с другой стороны вроде как и работает
- Screenshot.png (36.44 КБ) 3362 просмотра
Что я делаю не так?
-
KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Сообщение
KamiSempai » 04 июн 2014, 15:41
Использование Handler и Timer не гарантирует выполнение задачи через точный промежуток времени, в том случае если приложение ни как не показывает свою деятельность на экране. Тут либо, как было предложено выше, запускать сервис Foreground либо использовать AlarmManager. AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет.
Если на протяжении работы таймера, ни чего не происходит, настоятельно рекомендую посчитать время окончательного срабатывания таймера и назначить на это время AlarmManager. Поберегите заряд батареи ваших пользователей.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
-
Saint_Byte
- Сообщения: 26
- Зарегистрирован: 03 мар 2013, 13:15
Сообщение
Saint_Byte » 05 июн 2014, 09:26
AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет
Так а как плееры тогда работают? Или плееры ещё и не дают спать устройству (Wake_lock) ?
-
klblk
- Сообщения: 1097
- Зарегистрирован: 18 окт 2012, 11:17
- Откуда: г. Красноярск
Сообщение
klblk » 05 июн 2014, 09:32
Saint_Byte писал(а):AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет
Так а как плееры тогда работают? Или плееры ещё и не дают спать устройству (Wake_lock) ?
да Wake_lock