В моем приложении я отправляю некоторые данные на сервер в регулярном интервале (каждые 5 минут) для этого я использовал IntentService
. IntentService
проверяет данные, и если данные доступны, он отправляет эти данные на сервер. поэтому здесь мой вопрос: мне нужно, чтобы каждый раз, когда служба отправляет данные на сервер и выдает их сразу после сетевого звонка, я должен получить блокировку слежения ??? какой эффективный способ приобрести & релиз блокировки. Моя конечная цель - сэкономить аккумулятор.Эффективный способ приобрести блокировку от бодрствования?
ответ
Если вы используете фоновое обслуживание для отправки данных на сервер, то почему вам нужно приобрести блокировку следа здесь? Я думаю, что нет необходимости делать это. Но в случае, если вы хотите уведомить пользователя о завершении загрузки задачи, вам лучше воспроизвести звук, используя звуковой пул, который уведомит пользователя о завершении загрузки.
Его фоновое задание не нужно уведомлять пользователя ... на самом деле я читаю на форуме (http://stackoverflow.com/questions/9309044/service-pauses-on-screen-lock?rq=1), что служба останавливается, когда телефон идет спать .... вот почему стоит задавать вопрос – Prachi
Ни один сервис никогда не останавливается. его работа на фоне всегда –
проверить эту ссылку (http://stackoverflow.com/questions/14128126/service-wakelock) – Prachi
Вам необходимо приобрести замок для бодрствования. На самом деле все гораздо сложнее, чем:
- зарегистрировать сигнал тревоги с менеджером сигнализации
- зарегистрировать приемник для приема сигнала тревоги (это держит wakelock)
- в делегат приемника для WakefulIntentService
в качестве альтернативы смотреть на WakefulBroadcastReceiver
Он знает, как приобрести блокировку следа, но он хотел знать эффективный способ сделать это, поскольку он сказал: «Каков эффективный способ приобретения и выпуска бодрствования моя конечная цель - сохранить батарею ». не Как. –
@ghosttalker: он использует услугу намерения - неправильно + он спрашивает здесь, здесь мой вопрос: нужно ли мне покупать блокировку следа каждый раз, когда служба отправляет данные на сервер_ - ответ да - но получение блокировки в службе не будет - отсюда мой ответ. –
@ downvoter почему голосуют? – Prachi
Я не был downvoter, но вы должны добавить код _nicely formatted_ –
Вы решили его? –