保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法
最近項(xiàng)目中用到了service進(jìn)行計(jì)時(shí),在連接USB的情況下一切正常,但是拔掉USB后發(fā)現(xiàn),手機(jī)進(jìn)入休眠后service停止了工作。最后通過(guò) PowerManager.WakeLock 在屏幕休眠后保持cpu喚醒狀態(tài)以使得service繼續(xù)運(yùn)行。
官網(wǎng)提醒:這個(gè)API會(huì)加劇耗電,所以在非必要情況下盡量不要使用。如果要使用盡量使用最低的等級(jí),并在退出后釋放資源。
wake lock一共有四個(gè)等級(jí):
Flag Value | CPU | Screen | Keyboard |
---|---|---|---|
PARTIAL_WAKE_LOCK | On* | Off | Off |
SCREEN_DIM_WAKE_LOCK | On | Dim | Off |
SCREEN_BRIGHT_WAKE_LOCK | On | Bright | Off |
FULL_WAKE_LOCK | On | Bright | Bright |
因?yàn)轫?xiàng)目中只需要保持cpu喚醒即可,所以使用 PARTIAL_WAKE_LOCK 即可。
在service中使用方式如下:
... private PowerManager.WakeLock wakeLock = null; ... @Override public void onCreate() { super.onCreate(); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TimerService.class.getName()); wakeLock.acquire(); } ... @Override public void onDestroy() { if (wakeLock != null) { wakeLock.release(); wakeLock = null; } super.onDestroy(); }
以上這篇保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Android ScrollView實(shí)現(xiàn)下拉彈回動(dòng)畫(huà)效果
這篇文章主要為大家詳細(xì)介紹了Android ScrollView實(shí)現(xiàn)下拉彈回動(dòng)畫(huà)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08Android指紋識(shí)別認(rèn)識(shí)和基本使用詳解
這篇文章主要為大家詳細(xì)介紹了Android指紋識(shí)別認(rèn)識(shí)和基本的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07Android定時(shí)器實(shí)現(xiàn)定時(shí)執(zhí)行、重復(fù)執(zhí)行、定時(shí)重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式
今天小編就為大家分享一篇關(guān)于Android定時(shí)器實(shí)現(xiàn)定時(shí)執(zhí)行、重復(fù)執(zhí)行、定時(shí)重復(fù)執(zhí)行、定次數(shù)執(zhí)行的多種方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12Android自定義控件之圓形進(jìn)度條動(dòng)畫(huà)
這篇文章主要為大家詳細(xì)介紹了Android自定義控件之圓形進(jìn)度條動(dòng)畫(huà),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07Android 表情面板和軟鍵盤(pán)切換時(shí)跳閃問(wèn)題的解決方法
這篇文章主要介紹了Android 表情面板和軟鍵盤(pán)切換時(shí)跳閃問(wèn)題的解決方法,需要的朋友可以參考下2017-08-08Android SDK Manager國(guó)內(nèi)無(wú)法更新的解決方案
本文主要介紹Android SDK Manager國(guó)內(nèi)無(wú)法更新的解決方案,這里提供了解決方法,及簡(jiǎn)單說(shuō)明實(shí)現(xiàn)流程,有興趣的小伙伴可以參考下2016-09-09Android ListView滑動(dòng)刪除操作(SwipeListView)
這篇文章主要為大家詳細(xì)介紹了Android ListView滑動(dòng)刪除操作,主要是學(xué)習(xí)SwipeListView開(kāi)源框架。感興趣的小伙伴們可以參考一下2016-08-08Android?App設(shè)計(jì)規(guī)范深入講解
隨著安卓智能手機(jī)不停的更新?lián)Q代,安卓手機(jī)系統(tǒng)越來(lái)越完美,屏幕尺寸也越來(lái)越大啦,下面這篇文章主要給大家介紹了關(guān)于Android?App設(shè)計(jì)規(guī)范的相關(guān)資料,需要的朋友可以參考下2022-10-10