Android AlarmManager实现在熄屏休眠时执行任务
来源:互联网 发布:windows logo png 编辑:程序博客网 时间:2024/06/11 05:21
考虑到功耗问题,Android系统在熄屏一段时间后进入休眠。
为了执行特定的任务,可以使用WakeLock获取CPU锁,但是这种方式有个弊端,CPU无法进入休眠,一旦进入休眠,线程就被挂起,无法执行任务。
于是就到了AlarmManager大放异彩的时候了。
// 闹钟Intent intentRepeat = new Intent(context, CoreService.class);PendingIntent sender = PendingIntent.getService(context, 0,intentRepeat, 0);long triggerTime = SystemClock.elapsedRealtime() + 60 * 1000; // 第一次时间long intervalTime = 5 * 60 * 1000; // msAlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);/** * AlarmManager.ELAPSED_REALTIME表示闹钟在手机睡眠状态下不可用,该状态下闹钟使用相对时间( * 相对于系统启动开始),状态值为3; * * AlarmManager.ELAPSED_REALTIME_WAKEUP表示闹钟在睡眠状态下会唤醒系统并执行提示功能, * 该状态下闹钟也使用相对时间,状态值为2; * * AlarmManager.RTC表示闹钟在睡眠状态下不可用,该状态下闹钟使用绝对时间,即当前系统时间,状态值为1; * * AlarmManager.RTC_WAKEUP表示闹钟在睡眠状态下会唤醒系统并执行提示功能,该状态下闹钟使用绝对时间,状态值为0; */am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerTime,intervalTime, sender);
设置成10分钟,实际测试结果如下:
14:21
14:29
14:39
14:53
14:57
15:08
可以看到间隔并不是精确的10分钟。
后面测试一下AlarmManager.RTC_WAKEUP的实际运行效果。
0 0
- Android AlarmManager实现在熄屏休眠时执行任务
- 使用AlarmManager实现Android应用每天定时执行任务
- android使用AlarmManager实现应用每天定时执行任务
- Android AlarmManager 定时闹钟实现在CPU休眠状态下进行业务操作
- 使用Android AlarmManager类定时执行任务
- Android利用AlarmManager执行定时任务
- AlarmManager定时任务延迟执行
- Android,定时任务AlarmManager
- Android定时执行(AlarmManager) [
- android Service重启问题,结合AlarmManager实现定时任务
- PendingIntent和AlarmManager实现定时(重复)任务 Android
- Android Service,AlarmManager组合实现定时任务踩的坑
- AlarmManager实现精准定时任务
- AlarmManager实现精准定时任务
- Android AlarmManager闹钟实现
- Android 定时执行任务 AlarmManager的使用(可用于闹钟开发)
- 8.4 AlarmManager实现精准定时任务
- 使用AlarmManager实现精确定时任务
- Android Java中System.loadLibrary() 的执行过程
- .bar : 嵌入input
- Android-Animation动画基础复习
- 第五周项目二-游戏中的角色类
- Linux常见命令小结1
- Android AlarmManager实现在熄屏休眠时执行任务
- 图像处理(一)
- Maven学习总结:基本概念
- 记一次错误调试,关于php命令行[php cli]
- 随笔-uint8_t / uint16_t / uint32_t /uint64_t 是什么数据类型 - 大总结,看完全明白了
- 第六周项目3:IP地址类
- Palindrome Number 带测试版
- 第六周【书面项目2】变量的变化过程
- php写守护进程(Daemon)