1

I'm working with teleriks verified LocalNotification plugin to send local notifications to the devices that run my app. I allow them to choose an interval of their liking between the notifications (1-2-3 or 4 hours), but I would like for these notifications to only fire during waking hours (so they don't wake up the user in the middle of the nigth - is there a setting for this? So far, the notification code is:

 app.notify({
              id : 4,
              title : 'Remember',
              message : '.. until you cancel all notifications',
              repeat : 60*this.get('notification_interval'),
              autoCancel : true,
              date : new Date(new Date().getTime() + 60*60*1000*this.get('notification_interval'))
                        },function(){alert('you will recieve a message every '+this.get('notification_interval')+'. hour');});

EDIT

Based on the excellent comment by AtanuCSE, I edited the code, so it now looks like:

app.setupnotificationinterval(interval)
    {
         //set hour to 10 for starting hour 
        var hour = 10;

        //set a notificationDate time.
        var notificationDate = new Date().getTime();
        //manipulate the dateobject to fit, 10:00:00
        notificationDate.setMinutes(0);notificationDate.setSeconds(0);
        //loop as long as the notification hour interval doesnt exceed 12 hours (from 10-22).
        while(hour < 22)
        {
           notificationDate.setHours(hour);

           this.notify({
                 id : hour,
              title : 'Husk at registrere energi',
            message : 'Det er tid til at du skal registrere din energi',
             repeat : 'daily',
         autoCancel : true,
               date : notificationDate
        },function(){alert('alarm sat til kl. ' + notificationDate.getHour());});
            hour = hour + interval;
        }

    }
Jakob
  • 4,784
  • 8
  • 53
  • 79
  • 2
    I don't know the answer but I've an idea. You can set multiple alarm. like with 4 hour interval you can set alarms at 10am, 2pm, 6pm, 10pm etc with daily repeat. This way you can avoid the sleeping time. – AtanuCSE Apr 06 '15 at 03:28

1 Answers1

0
app.setupnotificationinterval(interval)
    {
         //set hour to 10 for starting hour 
        var hour = 10;

        //set a notificationDate time.
        var notificationDate = new Date().getTime();
        //manipulate the dateobject to fit, 10:00:00
        notificationDate.setMinutes(0);notificationDate.setSeconds(0);
        //loop as long as the notification hour interval doesnt exceed 12 hours (from 10-22).
        while(hour < 22)
        {
           notificationDate.setHours(hour);

           this.notify({
                 id : hour,
              title : 'Husk at registrere energi',
            message : 'Det er tid til at du skal registrere din energi',
             repeat : 'daily',
         autoCancel : true,
               date : notificationDate
        },function(){alert('alarm sat til kl. ' + notificationDate.getHour());});
            hour = hour + interval;
        }

    }
Jakob
  • 4,784
  • 8
  • 53
  • 79