Android开发用Service+Broadcast解决倒计时过程中Activity被销毁的问题

本文介绍了如何使用Android Service结合Broadcast解决倒计时过程中Activity被销毁导致的重置问题。通过在Service中运行CountDownTimer,并利用Broadcast进行定时广播,即使Activity被销毁,再次打开时仍能继续更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本博客地址:http://blog.youkuaiyun.com/talentclass_ctt/article/details/51909313

说到倒计时,其实系统有一个倒计时的类叫做CountDownTimer,可是当跳转到其他Activity时就被重置了,想到之前做蓝牙4.0时的服务加广播,就试着写了一下,当作练习,有不对的地方请见谅。

我在onStart,onDestroy和倒计时每次更新的地方打上Log,结果如下:


可以看到,在onDestroy方法调用后倒计时还在继续,下次进入Activity继续更新UI。

主要思想是这样的:将倒计时CountDownTimer放在Service里面进行,每过一秒就一条发广播,在主Activity里注册广播,收到广播后更新UI。
一、写一个类CodeTimerService继承自Service,重写onStartCommand(...)方法。

@Override
    public int onStartCommand(Intent intent, int flags, int startId) {

		// 第一个参数是总时间, 第二个参数是间隔
        mCodeTimer = new CountDownTimer(60000, 1000) {
            @Override
            pub
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值