2015-10-06 2 views
1

Я использую фильтр намерений SHUTDOWN, чтобы определить, когда телефон завершает работу и зарегистрировал приемник с фильтром намерения SHUTDOWN в файле манифеста.HTTP-вызов во время выключения телефона

В OnReceive методы я начинаю HTTP вызов на другом потоке, но HTTP вызов не происходит, потому что каким-то образом он не получает Интернет или WIFI и двигатель GPRS становится выключен во время остановки,

Есть любой способ сделать HTTP-вызов успешно во время выключения телефона?

Я думал держать остановку в течение нескольких секунд, как только Http-вызов будет успешным, а затем выключите телефон, можно ли это сделать?

+0

можете ли вы прокомментировать нижний предел? – Naga

+0

Я просто ищу лучший способ сделать это и попросил предложение – Naga

ответ

1

Это совершенно невозможно, вы не можете отложить сигнал выключения до тех пор, пока ваш запрос не будет выполнен. Как вы уже испытали, нет особого порядка, по которому функции телефона будут отключены, и вы можете играть в увядание, ваш звонок будет успешно выполнен.

Что нужно сделать, чтобы завершить событие выключения, пометив намерение SHUTDOWN, и, возможно, выполнил вызов http, когдавызывается замысел, когда устройство возвращается в эксплуатацию, скажем, после некоторого порогового значения (время дельта 2 мин. если телефон был выключен или перезагружен.

+0

Хорошо, спасибо за предложение. так что нет способа сообщить серверу, что телефон выключен? ». Я думал хранить временную метку отключения в db и отправлять ее на сервер при перезагрузке. – Naga

+0

Простая запись для метки времени в SharedPrefs сделает трюк. –