アプリがバックグラウンドで実行されていて、同時に2つのローカル通知を受け取ったとします。 Notification1のAlert1が表示され、Alert1の上にNotification2のAlert2が表示されます。私がAlert2の "View"をタップすると、私のアプリはフォアグラウンドに入り、Notification2のためにdidReceiveLocalNotification
が呼び出されます。アプリが実行されていないときに起動し、アプリの実行中に表示される通知アラートを処理する
しかし、Alert1はまだ表示されていません(閉じられたり表示されなかったため)。 「表示」をタップすると、何も起こりません。また、予期したとおり、通知1のdidReceiveLocalNotification
は呼び出されません。
のいずれかへの道があります:
- すべてクリアアラートALERT1があるため、押されたときにAlert2
- は、「ビュー」のためのタップを処理するためにアプリがフォアグラウンドに入るときにALERT1が表示されないように、
didReceiveLocalNotification
は呼び出されていません
ありがとうございます!
2つのアラートが同時に表示されますか?あなたの質問にスクリーンショットを追加できますか? –
2つ目のアラートが他のアラートの上に表示されるため、一方が表示されますが、他方は依然として表示されます。最初のアラートで「表示」をタップすると、didReceiveLocalNotificationが呼び出され、アプリがフォアグラウンドに入力されます。最初のアラートが消え、2番目のアラートが表示されます。 – Woogie
'cancelAllLocalNotifications'を呼び出すと、すでに表示されているアラートは、通知が既に開始されていても解除されます。 それはローカルで述べたと通知プログラミングガイドをプッシュしています: _YouはcancelLocalNotificationを呼び出すことにより、特定のスケジュールの通知をキャンセルすることができます。アプリケーションのオブジェクトの上に、そしてあなたがcancelAllLocalNotificationsを呼び出すことにより、すべてのスケジュールの通知をキャンセルすることができます。これらのメソッドは両方とも、現在表示されている通知アラートをプログラムで却下します。_ したがって、私は 'cancelAllNotifications'を実行し、現在のスケジュール通知を再スケジュールする必要があります。 – Woogie