2015-03-25 27 views
0

在我的應用程序,我發送一些數據到服務器定期(每5分鐘)爲此我使用IntentServiceIntentService檢查數據,如果數據可用,則將數據發送到服務器。所以在這裏我的問題是否需要獲取喚醒鎖每次服務發送數據到服務器,並在網絡調用後立即發佈?什麼是有效的方式來獲取釋放喚醒鎖。我的最終目標是節省電池。獲取喚醒鎖定的有效方法?

+0

@downvoter爲何投下票? – Prachi 2015-03-25 09:36:39

+0

我不是downvoter,但你應該添加一些_nicely formatted_代碼 – 2015-03-25 12:03:05

+0

你解決了嗎? – 2015-04-12 17:59:43

回答

-1

如果您使用後臺服務將數據發送到服務器,那麼您爲什麼需要在此處獲取喚醒鎖?我認爲沒有必要這樣做。但如果您想通知用戶完成上傳任務,那麼您最好使用聲音池播放一些聲音,以便通知用戶上傳已完成。

+0

它的後臺任務不需要通知用戶...實際上我在論壇上閱讀(http://stackoverflow.com/questions/9309044/service-pauses-on-screen-lock?rq=1)該服務停止時,電話去睡着....這就是爲什麼發佈這個問題 – Prachi 2015-03-25 09:36:17

+0

沒有服務永遠不會停止。其在後臺工作總是 – 2015-03-25 09:50:23

+0

檢查此鏈接(http://stackoverflow.com/questions/14128126/service-wakelock) – Prachi 2015-03-25 09:52:27

0

您需要獲取喚醒鎖。其實它更復雜的比:

  1. 註冊報警經理
  2. 報警寄存器接收器,接收報警(該持有喚醒鎖定)
  3. 在接收委託WakefulIntentService

或者看看WakefulBroadcastReceiver

參見:https://stackoverflow.com/a/28396826/281545

+0

他知道如何獲得喚醒鎖,但他想知道這樣做的有效方式,因爲他說「什麼是有效的方式來獲取和釋放喚醒鎖定,我的最終目標是節省電池。「不如何。 – 2015-03-25 12:29:54

+0

@ghosttalker:他正在使用intent服務 - 他錯了+他問我在這裏我的問題是否每次服務向server_發送數據時都需要獲取喚醒鎖 - 答案是 - 但獲取服務中的鎖不會執行 - 因此我的答案。 – 2015-03-26 19:13:58