亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法

 更新時(shí)間:2018年03月23日 10:00:17   作者:陌小二  
下面小編就為大家分享一篇保持Android Service在手機(jī)休眠后繼續(xù)運(yùn)行的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

最近項(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)文章

最新評(píng)論