码迷,mamicode.com
首页 > 移动开发 > 详细

Android 8.0 AlarmManager 后台定时任务

时间:2018-05-05 19:43:37      阅读:977      评论:0      收藏:0      [点我收藏+]

标签:blank   别人   art   wear   and   manager   https   ref   class   

以前在Android 4.0时,alarmManager 没什么问题。后来android为了优化系统耗电情况,引入了doze模式,参见此页

https://developer.android.com/training/monitoring-device-state/doze-standby

简单地说,系统会长时间待机后,会自动进入doze模式,这种模式里,alarmManager啥的都不好用了,系统会自动从doze模式转出来一小段时间,把刚在在doze里被忽略的事件(比如说alarmManager)执行。这样一来,alarmManager根本无法定时调用了。

其实,对于每个应用,这个模式是可以配置的,一般在 Settings > Battery > Battery Optimization,也可以用代码打开设置页面,让用户设置,下面是一段别人写的代码:

 Intent intent = new Intent(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);  
           intent.setData(Uri.parse("package:user.zhuku.com"));  
           startActivity(intent);  

华为手表,在wear os 2.0上,也有类似的选项。

Android 8.0 AlarmManager 后台定时任务

标签:blank   别人   art   wear   and   manager   https   ref   class   

原文地址:https://www.cnblogs.com/breezemist/p/8995640.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!