700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android service 休眠 保持Android Service在手机休眠后继续运行的方法

android service 休眠 保持Android Service在手机休眠后继续运行的方法

时间:2020-12-14 12:49:14

相关推荐

android service 休眠 保持Android Service在手机休眠后继续运行的方法

最近项目中用到了service进行计时,在连接USB的情况下一切正常,但是拔掉USB后发现,手机进入休眠后service停止了工作。最后通过 PowerManager.WakeLock 在屏幕休眠后保持cpu唤醒状态以使得service继续运行。

官网提醒:这个API会加剧耗电,所以在非必要情况下尽量不要使用。如果要使用尽量使用最低的等级,并在退出后释放资源。

wake lock一共有四个等级:

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

因为项目中只需要保持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在手机休眠后继续运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持找一找教程网。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。