2017-08-15 3 views
0

Mon application démarre un minuteur lorsque la notification locale basée sur la date est déclenchée à l'aide du délégué UNUserNotificationCenterDelegate::didReceive. Mais si l'application est déjà ouverte lorsque la notification est déclenchée, je veux que mon minuteur démarre automatiquement à ce moment-là, sans appuyer sur la notification.Un déclenchement de notification locale peut-il être détecté sans appuyer sur la notification?

Est-ce possible?

par exemple:

Je veux définir une notification pour 15 heures, à ce moment commencer à 30 min minuterie (cela devrait commencer à 15 heures exactement), qui expirera à 15h30.
Que faire si l'utilisateur appuie sur la notification 10 minutes plus tard, à 15h10 ... le minuteur expirera à 3:40. C'est pourquoi je veux démarrer la minuterie lorsque la notification est déclenchée, pas quand l'utilisateur appuie dessus.

+0

Méthode userNotificationCenter (_: willPresent: withCompletionHandler :) sera appelée quand une notification est livré à une application de premier plan. Référence: https://developer.apple.com/documentation/usernotifications/unusernotificationcenterdelegate/1649518-usernotificationcenter – Hooda

+0

@Hooda: pouvez-vous fournir ceci comme réponse pour que je puisse accepter? Merci. – Kobe

+0

Terminé. Merci de contribuer. – Hooda

Répondre

1

La méthode userNotificationCenter (_: willPresent: withCompletionHandler :) est appelée lorsqu'une notification est envoyée à une application de premier plan.

Source: Link

0

Utilisez cette méthode pour utiliser le concept de votre minuterie

application:didReceiveLocalNotification: 

Mais oui quand votre application est dans l'état d'arrière-plan, et si la notification locale viennent, vous ne recevrez aucun appel de méthode.

+0

Que voulez-vous dire? qui est appelé lorsque vous appuyez sur la notification, non? – Kobe

+0

Oui, autant que je sache, lorsque votre application est en arrière-plan, et si une notification locale arrive, vous ne recevrez aucun appel de méthode. –

+0

Et quand votre application est en premier plan, cette méthode sera appelée automatiquement –