如何在一周中的任何一天设置闹钟,而不是在android中的一天?

时间:2015-06-23 14:41:06

标签: android set clock alarm

我认为从sqlite数据库表中得到一周的日子,并且循环设置警报以提醒事件的异步方法,我的代码如下:(防止错误,我先评论代码)请帮我看一下我的代码,谢谢。

主线程:

/*  case 1:
                            System.out.println("现在开始执行异步任务----------------------------------now!");
                            ByWeekAlarmAsyncTask asynctask=new ByWeekAlarmAsyncTask();
                                asynctask.execute();

                            WeekAlarmExect();   */  

/*public class ByWeekAlarmAsyncTask extends AsyncTask<String, String, String>
    {

        @Override
        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
            Calendar c = Calendar.getInstance();
            c.setTimeInMillis(System.currentTimeMillis());

            int nowHour = c.get(Calendar.HOUR_OF_DAY);
            int nowMinute = c.get(Calendar.MINUTE);
            int nowSecond = c.get(Calendar.SECOND);
            InitAlarmRemind();
             String[] temp = null;  
                // temp =.split(","); 
                 for(int j=0;j<iclist.size();j++){
                temp=iclist.get(j).getmRemindmth().split(",");//Cycle set an alarm to remind event
                String redtm=iclist.get(j).getmRemindtm();
                SimpleDateFormat df = new SimpleDateFormat("yyMMddHHmmss");  
                  Date alarmtm=null;
                try {
                    alarmtm = df.parse(redtm);
                } catch (ParseException e1) {
                    // TODO Auto-generated catch block
                    e1.printStackTrace();
                }  
                    for(int e=0;e<temp.length;e++){

                  long systemTime = System.currentTimeMillis();
                  int systmInt=new Long(systemTime).intValue();

                 //for(int d=0;d<temp.length;d++){

                         if (alarmtm.getHours() < nowHour || alarmtm.getHours() == nowHour && alarmtm.getMinutes() <= nowMinute
                                    || alarmtm.getMinutes() == nowMinute && alarmtm.getSeconds() <= nowSecond) {
                                    c.add(Calendar.DAY_OF_YEAR, 1);
                                }else{
                                    c.set(Calendar.HOUR_OF_DAY, alarmtm.getHours());
                                    c.set(Calendar.MINUTE, alarmtm.getMinutes());
                                    c.set(Calendar.SECOND, alarmtm.getSeconds());
                                }
                         System.out.println("temp[e]-------------------------------------"+temp[e]);

                         c.add(Calendar.DAY_OF_WEEK, Integer.valueOf(temp[e]));

                         list.add(c.getTimeInMillis());

                          //int ii=new Long(c.getTimeInMillis()).intValue();
                         int ii = Integer.parseInt(String.valueOf(c.getTimeInMillis()));  

                          System.out.println("long c-------------------------------------"+c.getTimeInMillis());
                          System.out.println("int ii-------------------------------------"+ii);
                         a1[e]=ii;

                  }
                    int getMina1=getMinNum(a1);
                    getRecentTime=Long.parseLong(String.valueOf(getMina1)); 
                    //getRecentTime=getMinNum(list);
                    mtype=iclist.get(j).getmRemindindex();
                    remindContent=iclist.get(j).getmRemindContent();




                    }




            return null;
        }

    }*/

   /*private void WeekAlarmExect(){

        AlarmManager amremind = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
        Intent al_in = new Intent(GhtLogin.this,VoiceTipsReceiver2.class);
        al_in.setType(mtype);
        al_in.putExtra("RemindContent", remindContent); 
        //LocationApplication.sender11=PendingIntent.getBroadcast(this, 1, al_in, 0);
        PendingIntent senderalarm=PendingIntent.getBroadcast(this, 0, al_in, 0);
        amremind.set(AlarmManager.RTC_WAKEUP,   getRecentTime,senderalarm);


    }*/

0 个答案:

没有答案