时间:2021-05-19
最近项目中用到了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在手机休眠后继续运行的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
wifi休眠设置步骤如下:1、首先在手机设置中点击【WLAN],在底下点击【高级设置】。2、然后点击【在休眠状态下保持WLAN连接】,最后选择【始终】即可在休眠
最近偶尔在土豆网看视频,发现视频有很多种“穿越”看法,让你在电脑上看了后继续穿越在手机上观看的方法,在手机浏览器上观看,很多盆友有玩过吧
做Android应用开发时,有时需要在应用前台运行时,禁止休眠,以下几种方法供参考。方法一:持有WakeLock添加休眠锁,休眠锁必须成对出现。privateW
本文详细分析了Android中Service服务。分享给大家供大家参考,具体如下:一、Service简介Service是Android中实现程序后台运行的解决方
Service简介:Service是被设计用来在后台执行一些需要长时间运行的操作。Android由于允许Service在后台运行,甚至在结束Activity后,