首页 > 系统 > Android > 正文

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

2019-10-22 18:14:01
字体:
来源:转载
供稿:网友

最近项目中用到了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;...@Overridepublic void onCreate() { super.onCreate(); PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TimerService.class.getName()); wakeLock.acquire();}...@Overridepublic void onDestroy() { if (wakeLock != null) {  wakeLock.release();  wakeLock = null; } super.onDestroy();}

以上这篇保持Android Service在手机休眠后继续运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到Android开发频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表