2017-07-10 4 views
0

Je planifie une notification locale répétée (jour) à l'heure définie par l'utilisateur. Je souhaite fournir à l'utilisateur une option lui permettant de désactiver cette notification pour les week-ends (samedi, dimanche). Est-ce possible? Si oui, alors s'il vous plaît, guidez-moi dans la bonne direction.Annuler la répétition de la notification locale le week-end [ReactNative]

J'utilise ce library et c'est le code que j'utilise pour programmer la notification locale.

paramètre
PushNotification.localNotificationSchedule({ 
       message: 'good morning', 
       date: date, 
       smallIcon: "ic_notification", 
       color: "#3591EC", 
       repeatType:'day', 
      }); 

Répondre

0

comme suggéré par Chris Allwein au lieu d'annuler la notification quotidienne récurrente, i programmé des notifications hebdomadaires récurrentes choisi par l'utilisateur. C'est comme ça que je l'ai fait. J'espère que ça aide quelqu'un.

let days=['Monday','Tuesday','Wednesday','Thursday','Friday']; 
     for(let i=0; i<days.length; i++){ 
      let date = moment(days[i],"dddd"); 
      Notification.schedule(message,date); 
     } 

et Notification.schedule() je l'ai fait ce qui suit

schedule(message, date){ 
let date = new Date(date); 
PushNotificationIOS.scheduleLocalNotification({ 
       fireDate: date.getTime(), 
       alertBody: message, 
       repeatInterval:'week' 

      }); 
     } 
+0

Comment est-ce que je peux programmer repeatInterval à 'month'? Si je place repeatInterval à 'month', alors il ne fonctionne pas dans iOS 11. –

0
PushNotification.cancelLocalNotifications(details) 

Les détails vous permet de spécifier un dictionnaire qui peut être utilisé pour correspondre à une ou plusieurs notifications programmées. Donc, dans votre cas, quelque chose comme:

PushNotification.cancelLocalNotifications({date: DateToCancel}) 
+0

comment puis-je annuler la notification pour chaque venir samedi et dimanche? Pourriez-vous l'expliquer avec un exemple? – sumesh

+0

Il semble que votre meilleure stratégie dans ce cas est d'annuler la notification quotidienne récurrente, et de planifier à la place des notifications hebdomadaires récurrentes pour seulement ces jours de la semaine. –

+0

bonne idée, je vais essayer ça. – sumesh