系统广播android.intent.action.DATE_CHANGED不响应的问题

在尝试通过android.intent.action.DATE_CHANGED监听系统日期变化以实现节日壁纸切换功能时,发现广播仅在日期向前更改时响应。若将日期设置为过去的时间,广播将不再触发。为解决此问题,改为使用Intent.ACTION_TIME_TICK广播,但需注意此广播需动态注册才能生效。

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

    要实现  “在到了某个节日的时候,给手机切换壁纸这样一个功能,如果用户当天手动切换过壁纸,则使用用户切换后的壁纸”。

    我使用  android.intent.action.DATE_CHANGED监听系统日期的变化广播,
发现只有在日期变化到将来的某一天的时候,才会发出此广播,例如,今天是9月17号,手动设置时间为18号,会触发该广播,这个时候,如果把时间再设置为10月17号,也会触发广播,但是如果再把时间设置为2014年10月17号之前的任何一天,都不会再响应广播!!! 总之就是已经广播过的日期改变,在这之前的日期改变就不会再广播了,只会广播以后的。令人发指啊!

    鉴于这个原因,我只能使用Intent.ACTION_TIME_TICK这个action来监听时间和日期的变化,这个action每分钟都会被触发,但是这个action只有在动态注册的情况下才有用,在Android.manifest文件中静态注册是不会被触发的。使用的时候要注意一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值