大家好,最近我想做个小闹钟,对于设置一个闹钟,可以同时任意选择星期一星期二等几个星期并且按星期循环响铃的问题,我一直搜索不到合适的方法处理。自己设置的闹钟只能一次响,不能按星期响。请问这个问题怎么处理呢?望大家指教,谢谢。

解决方案 »

  1.   

    一直找找不到,在楼上指导下搜android 原生闹钟 搜到了 阅读这样的代码还是有点吃力,先硬着头皮看看再说……thanks
      

  2.   

    呃~, 闹钟没看过,但alarm的使用中,貌似那几个参数中,都有个repeatInterval, 这个设好了不就可以了?
      

  3.   

    2个楼上说的这种都是比较简单的需求,解决办法。
    如果几个闹钟,中间可以修改删除,这是你在一开始设置repeatInterval就不太合适了吧?
    或者来个每周2、4闹,连续闹10周,这种需求也没办法是不?
    所以说,你想提高的话,android源码一定要看的,你现在遇到的问题我觉得你先看以下这几个类,并且记得先看它的广播,各个接收广播类作用,再到怎么设置闹钟这个过程AlarmKlaxon 后台管理闹钟和震动的service,用来接收广播后直接去播放歌曲作为闹钟,并且在在通知栏中更新闹钟的取消时间(在来电过程中只更新通知栏)
    play()具体播放方法,播放音乐(设置为自动timeout时间为10分钟,用户不取消10分钟后自动取消)AlarmInitReceiver
    这个类在ACTION_BOOT_COMPLETED时set一个alarm,在TIME_SET,TIMEZONE_CHANGED时更新alarm
    主要调用3个方法
    1.saveSnoozeAlert:设置小睡alarm(这里只是清空它)    
    2.disableExpiredAlarms
         只有在启动时才调用的方法(注销掉已经过期的,而且没有repeat的闹钟)
    3、setNextAlert
         在系统启动、时间修改、修改添加闹钟时候调用.设置下次alarm的时间(在没有SnoozeAlert的情况下有效)Alarms The Alarms provider supplies info about Alarm Clock settingsAlarmAlert
    闹钟响起的弹出dialog,这里我没有考虑设置中的电源键、相机键作用这个设置(mVolumeBehavior)
    setting里面的小睡时间没设置