解决“闹钟在通话时不弹出,结束通话后弹出”的问题

11 篇文章 0 订阅
1 篇文章 0 订阅

     在Android2.3中,当闹钟响起后,AlarmReceiver会收到从底层发出的ALARM_ALERT_ACTION的消息,然后起一个文件名叫AlarmKlaxon的service,以及我们所看到的闹钟界面AlarmAlertFullScreen的Activity。在这个Activity执行onResume的时候,判断是否为通话中,判断方法如下:

然后再onResume函数中进行判断,如果处于通话状态,将此Task一道后台,代码如下:


在后台的Service中启动一个监听器,监听手机挂断的动作,如果用户通话结束,此时会发送一个广播消息,用AlarmReceiver来接收这个消息:


当AlarmReceiver收到这个广播后:

我用的是2.3版本的SDK,没有尝试另外一种方法,3.0以上Android支持ActivityManager.moveTaskToFront()函数。用这个函数应该也可以,如果用这个函数,代码如下:

这样当通话结束后,之前移到后台的ALARM又会被用户看到。如果有更好的实现方式可以留言讨论,谢谢~


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值