Android 11 AlarManager 定时使用

在项目中遇到AlarmManager定时问题,避免使用setRepeating,改用setExact来设定闹钟。当手动调整系统时间导致过期闹钟触发,通过在广播接收器中判断时间差来解决,避免无效提醒。
摘要由CSDN通过智能技术生成

项目中用到AlarmManager 定时任务;
官网这样介绍:此类提供对系统警报服务的访问。 这些让你 安排您的应用程序在将来的某个时间运行。 什么时候 警报响起, Intent已经为它注册的 由系统广播,自动启动目标应用程序 如果它还没有运行。 注册的警报将保留,而 设备处于睡眠状态(并且可以选择在设备关闭时唤醒设备 在这段时间内),但如果关闭并重新启动,它将被清除。

警报管理器持有 CPU 唤醒锁,只要警报接收器的 onReceive() 方法正在执行。 这样可以保证手机不会休眠 直到您处理完广播。 一旦 onReceive() 返回, 警报管理器释放此唤醒锁定。 这意味着手机将在某些 一旦您的 onReceive() 方法完成,cases 就会休眠。 如果您的警报接收器 叫 Context.startService(), 它 手机可能会在请求的服务启动之前休眠。 为了防止这种情况,您的 BroadcastReceiver 和 Service 需要实现一个 单独的唤醒锁定策略,以确保手机继续运行,直到 服务变为可用。

注意:警报管理器适用于您想要的情况 您的应用程序代码在特定时间运行,即使您的应用程序 当前未运行。 对于正常的计时操作(滴答、超时、 等)使用起来更容易也更有效 Handler.

AlarmManager 官网

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FW_G8Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值