关于AlarmManager运用需要注意事项和解决办法
发布日期:2021-11-12 07:57:22
浏览次数:31
分类:技术文章
本文共 1016 字,大约阅读时间需要 3 分钟。
原文地址:http://blog.csdn.net/lcf687619/article/details/51527731
在解决我所说的这些问题,大家先去看下Alarmmanger如何使用,并且其中一些简单的问题
参考地址:
一、首先说下AlarmManager运用的时候碰到的问题
- 闹钟出现延迟,响铃不准确
- 在android4.4系统以下和android4.4系统以上设置闹钟不生效
- 关闭闹钟没成功,然后再去设置闹钟出现闹钟设置过多
-
自定义闹钟响铃不完整
二、接下来说下怎么会导致这些问题出现以及解决办法 -
闹钟出现延迟,响铃不准确的原因是在android4.4以上,为了手机电池能用的时间更长,系统来最小化唤醒和电池使用。在有些手机上有性能模式和省点模式,如果想要闹钟准时去提醒的话,建议最好设置为性能模式,因为省点模式在手机待机时间比较长的情况下,手机的CPU会停止工作,断网,会导致闹钟广播发送不出去,你接收不到系统的广播,闹钟也不会去执行。当你打开手机屏幕的时候,CPU被唤醒,然后你之前要发送广播没发出去的就会在打开屏幕的瞬间,之前要响的闹钟都会进行发送广播响铃,导致闹钟同时触发响起。例如手机在待机时间长的情况下,发送过来的消息也同样接收不到。
- 在android4.4以下可以直接设置重复闹钟(建议不要直接用系统提供的设置重复闹钟方法,以防有误),在android4.4以上就没有设置重复闹钟的方法了,其实我们就可以在响铃后计算出下次响铃时间重新去设置闹钟。
- 在关闭闹钟的时候,传入的上下文最好与你设置闹钟的上下文一直,否则会出现之前的闹钟关闭没成功,后面有设置闹钟,这样进行的次数多了,就会出现安全性异常(设置闹钟过多)。如果你在不同的activity或service中都要去进行重新设置闹钟,建议你设置闹钟的时候,传入的上下文为整个应用的上下文。目前测试只在三星手机上出现过安全异常,华为,小米手机没发现问题。
- 关闭闹钟的时候还应该注意,要关闭闹钟的ID必须与你设置闹钟时候的ID保持一致。
三、在这补充一个问题,设置闹钟的时候
这个方法是调用的服务,当闹钟需要响铃的时候,去直接启动服务,来进行你在服务中所需要的操作,比如重新闹钟,计算时间等。
这个方法是发送广播,当接收器中接收到广播后,建议大家不要直接在接收器中操作太复杂的东西,那样容易导致你响铃不完整。最好去后台执行你需要的操作。比如重新闹钟,计算时间等。
转载地址:https://blog.csdn.net/happy_love1990/article/details/72718244 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月09日 00时09分20秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
单片机I/O口推挽输出与开漏输出的区别
2019-04-27
unbalanced enable irq 问题的解决 以及共享的gpio中断引起的问题
2019-04-27
linux下使用update-alternatives切换java版本的正确姿势
2019-04-27
实验: 显式装入DLL时, DLL接口操作封装类
2019-04-27
资源: 辅助工具
2019-04-27
GetLocalIp
2019-04-27
experiment: 锁操作
2019-04-27
调试记录
2019-04-27
资料: vs2005IDE操作
2019-04-27
整理: 关于程序员的漫画
2019-04-27
goto and lable
2019-04-27
无缓冲区写文件
2019-04-27
实验: VS2005远程调试
2019-04-27
experiment:+tinyXML
2019-04-27
experiment: AdjustTokenPrivileges
2019-04-27
debug: C1010
2019-04-27
how to build winSCP5.7.7
2019-04-27
experiment: State machine
2019-04-27