闹钟定时 肯定是使用  AlarmManager这个服务
 
该类提供2个方法定时 :
 set  指定一个时间执行 setRepeating 根据间隔重复执行(可以满足每天 几点响)
但比如 闹钟设置   每周 星期1,星期3  7点呼叫 这样的功能 单单采用 set  或  setRepeating  是无法实现的? 求实现思路 ?
是不是 要 另启服务   进行判断?

解决方案 »

  1.   

    这个问题其实说简单也简单,说难也难.方法基本上就是你要建立一个数据库,将你的AlarmManager设置的时间,以及相应的方式,重复的间隔之类的都保存起来,然后设定定时器,但是当手机关机或者重新启动的时候,你要让程序自动运行,从数据库读取恢复你之前设定的定时闹钟,启动的方法其实很简单.
      

  2.   

    public class AutoRunReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
         String action = intent.getAction();
         if (action.equals(Intent.ACTION_BOOT_COMPLETED)) {
             //这里写你的启动设置定时器的代码
         }
        }
    }
      

  3.   

    但比如 闹钟设置 每周 星期1,星期3 7点呼叫  
    可以分开设置alarm,比如周一是一个,周三是一个。
    alarm可以设置标识,进行取消等管理
    如:
    pendingIntent = PendingIntent.getActivity(this.sendContext, 0,
    intent, (int) id);
    alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, c
    .getTimeInMillis(), 24 * 60 * 60 * 1000, pendingIntent);pending里面的id就是标识
      

  4.   

    我现在 思路 是每天  检索一次数据库    看看 当天 有没有 要闹钟提醒的 然后设置  闹钟. 我想说的是  间隔是 不固定的 . 这样setRepeating  就无法实现。  有看过 闹钟源代码的吗? 继续求