3

管環境:Eclipse的
語言:爪哇(安卓)服務進入待機,當設備進入休眠狀態 - 安卓

我也有點問題,這是我直到我測試我的應用程序進行的設備上沒有意識到的。我一直認爲即使手機在睡覺,服務也會持續在後臺運行。我發現情況並非如此,所以,我的問題是,一旦您喚醒設備,服務是否會再次啓動?如果不是,我將如何使服務重新啓動。

我能每五分鐘喚醒一次手機,只是爲了運行我的服務,這將持續30秒到1分鐘。然後讓手機再次入睡?

在此先感謝。

編輯:我是非常新的Android編程,並會真正感謝,如果有人會告訴我如何使用WakefulIntentService。 我有一種服務,每隔一段時間都在搜索用戶的GPS位置,當手機進入睡眠狀態時,我希望我的服務仍然可以查找其位置。我將如何去使用WakefulIntentService來做這件事?我可以在這種情況下使用它。

謝謝。

+0

[Android睡眠/待機模式]可能的重複(http://stackoverflow.com/questions/5120185/android-sleep-standby-mode) – 2015-03-18 10:59:15

回答

-6

我用AlarmManager,我看着WakefulIntentService,這給了我一個想法做什麼。 再次感謝大家的幫助。

9

你需要保持處理器lock,讓您的服務運行

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TAG"); 
wl.acquire(); 
// When you are done 
wl.release(); 

如果你的服務使用Wi-Fi,你需要另一種鎖以及

WifiManager wm = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
wifiLock= wm.createWifiLock(WifiManager.WIFI_MODE_FULL, "TAG"); 
wifiLock.acquire(); 

// When you are done 
wifiLock.release(); 

記住要在添加android.permission.WAKE_LOCK您清單

+0

我忘記提及,我在Android開發中頗爲小菜,因爲你可能已經想通了,從我上面的問題,但你能否詳細說明你的意思是'lock'。感謝您的快速回復... – user959631 2013-02-15 23:48:23

+1

上述方法會迅速殺死電池。 – 323go 2013-02-15 23:49:32

+1

問題是**沒有關於電池**,如果你設計你的應用程序*正確*它不應該影響 – iTech 2013-02-15 23:52:21

3

我有一項服務即搜索g每隔一段時間用戶的GPS位置,當手機進入睡眠狀態時,我希望我的服務仍然在尋找他們的位置。我將如何去使用WakefulIntentService來做這件事?我可以在這種情況下使用它。

WakefulIntentService是不恰當的在這裏,因爲它只是用來確保設備甦醒的時間做一些工作一小段時間。它的設計目的不是讓設備在不確定的時間內保持清醒狀態,例如獲取GPS定位所需的時間。

我有a LocationPoller project可以更好地處理您的情況。

我很新到Android編程

你正在嘗試做的是不使用Android的經驗水平,恕我直言,有人一個合適的項目。

+1

謝謝,我感謝您的幫助和意見。我想這不適合,但這就是我學習的方式。我爲自己設定了一項任務。看看我能否完成這個任務。如果我一路卡住,我會通過搜索Google並在StackOverflow上提問。順便說一下,我找到了另一種方法,我使用了'AlarmManager',我查看了'WakefulIntentService',這讓我知道該怎麼做。再次感謝你的幫助。 – user959631 2013-02-25 18:52:51

0

我不知道你的服務正在做什麼,但如果它停機/上傳數據到服務器,你可能要考慮使用Sync Adapter

除非您需要準確的時間,否則您的系統比AlarmManager的負擔更小。

我你正在做別的事情,你可能想看看JobScheduler API

無論如何,如果你確實想堅持AlarmManager,只要知道不精確重複已經比精確重複好很多。

+0

感謝您的回覆,但是,這個問題在兩年前(我)問過,並且已經有了一個可以接受的答案(兩年前) 請儘量避免重振舊線程,謝謝;) – user959631 2015-09-18 09:17:06

+2

其他人仍然會發現此主題尋找類似問題的答案。這就是我回答的原因。但除此之外,你是對的。 – LanderV 2015-09-22 14:40:06

相關問題