重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
怎么在Android应用中利用WakeLock保持程序在后台运行?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
成都创新互联公司专注于企业全网营销推广、网站重做改版、科尔沁右翼前网站定制设计、自适应品牌网站建设、H5技术、购物商城网站建设、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为科尔沁右翼前等各大城市提供网站开发制作服务。官方的解释:
PowerManager负责对Android设备电源相关进行管理,而系统通过各种锁对电源进行控制,WakeLock是一种锁机制,只要有人拿着这把所,系统就无法进入休眠阶段。既然要保持应用程序一直在后台运行,那自然要获得这把锁才可以保证程序始终在后台运行
WakeLock的使用:
WakeLock wakeLock = null; //获取电源锁,保持该服务在屏幕熄灭时仍然获取CPU时,保持运行 private void acquireWakeLock() { if (null == wakeLock) { PowerManager pm = (PowerManager)this.getSystemService(Context.POWER_SERVICE); wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK|PowerManager.ON_AFTER_RELEASE, "PostLocationService"); if (null != wakeLock) { wakeLock.acquire(); } } } //释放设备电源锁 private void releaseWakeLock() { if (null != wakeLock) { wakeLock.release(); wakeLock = null; } }