1

私のアプリはバックグラウンドにあり、通知アラートが正しく表示され、バッジ番号が 1 増えました。ユーザーがアラートをタップすると、すべてが正常に機能し、デリゲートdidReceiveLocalNotificationが呼び出されます。

しかし、ユーザーはアラートを無視しました。しばらくして、ユーザーが再びアプリを開くと、呼び出されるデリゲートはdidBecomeActive. UIAlertView最後に無視されたアラートに基づいて、何かを行うにはどうすればよいですか (たとえば、a を表示するなど)。

4

3 に答える 3

3

iOS 自体はそのための方法を提供していません。

しかし、あなたはそれを簡単に行うことができます:

  1. 通知を iOS に登録しているときに、すべての通知データをファイルに書き込みます。
  2. アプリケーションの起動時に、通知ファイルのロードと期限切れのすべての通知 (NSDate < now) - これらは無視された通知です。
  3. 2.を行う前に、誰かが通知から来た可能性があるかどうかを確認し、ファイルから削除する必要があります。

残念ながら、登録された通知のリストを取得することを許可していない iOS 通知管理システムを複製するようなものです。

通知をファイルに書き込むのは簡単です。すでに NSCoding プロトコルを実装しています。

于 2013-10-01T15:40:50.770 に答える