2014-08-31 5 views
0

Мое приложение дважды срабатывает в соответствии с двумя установленными аварийными сигналами, временем начала и временем остановки. Теперь я пытаюсь расширить это, так что установленные тревоги могут быть указаны в течение нескольких дней с возможностью повторения.Повторяющийся сигнал тревоги в определенные дни

У меня 8 целочисленных значений, полученных в ГОМ на целевом устройстве, повторите = 1, ВС = 1, ПНО = 1 и т.д. ... если был выбран день или повтор, он имеет значение 1.

Как я могу заставить будильник повторять в определенные дни?

Могу ли я поместить полученные значения, например, 0111110 будет работать в течение всего рабочего дня ... затем повторить их и создать будильник, где значение равно 1?

Я не уверен, как структурировать это, может кто-нибудь посоветуете?

Спасибо.

+0

Разбираем ваш ответ, а затем запланировать alarmanager в соответствии с результатом –

+0

установки повседневной тревоги, то при выстреле чек день или настроить до семи weelky alarms – pskink

ответ

0

Понял работает, используя следующую ... может быть кто-то другой будет найти этот полезный

   int[] daysOfWeek = new int[7]; 
      int[] daysOfWeekValue = new int[7]; 
      //parce from GCM values recieved 
        final int sunday = Integer.parseInt(sun); 
        daysOfWeek[0] = sunday; 
        final int monday = Integer.parseInt(mon); 
        daysOfWeek[1] = monday; 
        final int tuesday = Integer.parseInt(tue); 
        daysOfWeek[2] = tuesday; 
        final int wednesday = Integer.parseInt(wed); 
        daysOfWeek[3] = wednesday; 
        final int thursday = Integer.parseInt(thu); 
        daysOfWeek[4] = thursday; 
        final int friday = Integer.parseInt(fri); 
        daysOfWeek[5] = friday; 
        final int saturday = Integer.parseInt(sat); 
        daysOfWeek[6] = saturday; 
        final int repeating = Integer.parseInt(repeat); 


        daysOfWeekValue[0]=1; 
        daysOfWeekValue[1]=2; 
        daysOfWeekValue[2]=3; 
        daysOfWeekValue[3]=4; 
        daysOfWeekValue[4]=5; 
        daysOfWeekValue[5]=6; 
        daysOfWeekValue[6]=7; 

        for (int i=0; i<daysOfWeek.length; i++) 
        { 
         if(daysOfWeek[i]==1){ 
         Log.i(TAG, "Set alarm on day: " + daysOfWeekValue[i]); 

        final Calendar calNow = Calendar.getInstance(); 
        final Calendar calSet = (Calendar) calNow.clone(); 

        calSet.set(Calendar.DAY_OF_WEEK, daysOfWeekValue[i]);// 1 for      sunday, 2 for monday etc 
        calSet.set(Calendar.HOUR_OF_DAY, starthour); 
        calSet.set(Calendar.MINUTE, startmin); 
        calSet.set(Calendar.SECOND, 0); 
        calSet.set(Calendar.MILLISECOND, 0); 

        ..... 
Смежные вопросы