Страница 1 из 1

Service перестает работать при закрытии приложения

Добавлено: 07 апр 2014, 20:19
vizort
У меня есть простенький 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
Screenshot.png (36.44 КБ) 4306 просмотров
Что я делаю не так?

Re: Service перестает работать при закрытии приложения

Добавлено: 04 июн 2014, 15:30
Saint_Byte
Попробуй
http://startandroid.ru/ru/uroki/vse-uro ... rvisa.html
Раздел: Foreground

Re: Service перестает работать при закрытии приложения

Добавлено: 04 июн 2014, 15:41
KamiSempai
Использование Handler и Timer не гарантирует выполнение задачи через точный промежуток времени, в том случае если приложение ни как не показывает свою деятельность на экране. Тут либо, как было предложено выше, запускать сервис Foreground либо использовать AlarmManager. AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет.

Если на протяжении работы таймера, ни чего не происходит, настоятельно рекомендую посчитать время окончательного срабатывания таймера и назначить на это время AlarmManager. Поберегите заряд батареи ваших пользователей.

Re: Service перестает работать при закрытии приложения

Добавлено: 05 июн 2014, 09:26
Saint_Byte
AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет
Так а как плееры тогда работают? Или плееры ещё и не дают спать устройству (Wake_lock) ?

Re: Service перестает работать при закрытии приложения

Добавлено: 05 июн 2014, 09:32
klblk
Saint_Byte писал(а):
AlarmManager точно сработает по часам, даже если приложение закрыто и ни один сервис не работает, а вот если экран выключен и Foreground не поможет
Так а как плееры тогда работают? Или плееры ещё и не дают спать устройству (Wake_lock) ?
да Wake_lock