关于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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:基于Android中实现定时器的3种解决方法
下一篇:Android中的AlarmManager的使用

发表评论

最新留言

不错!
[***.144.177.141]2024年04月09日 00时09分20秒