Android 系统锁屏息屏休眠时Handler CountDownTimer计时器停止运行问题解决

本文介绍了Android系统在锁屏息屏休眠状态下,Handler和CountDownTimer计时器停止运行的问题。通过分析,提出了使用AlarmManager结合不同API版本的策略,如setExactAndAllowWhileIdle、setExact,来确保倒计时在熄屏状态下仍能准确运行。此外,还讨论了AlarmManager的工作机制和相关方法,以及权限和接收器的设置,以确保计时任务在预定时间准确触发。
摘要由CSDN通过智能技术生成

1.前言

在进行app开发的过程中,在进行某些倒计时的功能项目开发中,会遇到在锁屏息屏休眠一段时间的情况下,
在唤醒屏幕的情况下发现倒计时已经停止了,这是因为在系统处于休眠的状态下cpu也停止了工作,所以
handler和countdowntimer倒计时也停止了工作,接下来就来看怎么样来实现这个问题的解决

2.系统锁屏息屏休眠时Handler CountDownTimer计时器停止运行问题解决的核心分析

倒计时可以说我们App开发中常见的一种场景了,比如Splash倒计时跳转首页,比如发送短信之后倒计时60秒显示等等。
接下来看下几种倒计时方式
一、CountDownTimer的实现

 private class AutoCountDownTimer extends CountDownTimer{

        public AutoCountDownTimer(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onTick(long l) {
            Log.e(TAG,"当前运行时间---l:"+l);
        }

        @Override
        public void onFinish() {
           Log.e(TAG,"倒计时完成.....");
        }
    }

二、直接用Handler的实现
我们可以直接使用Handler的延时发送消息实现倒计时。
当然另一种做法是使用 Runnable 来实现。

Handler handler 
  • 12
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

安卓兼职framework应用工程师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值