0

私はUILocalNotificationについてたくさん読んでいて、アプリにもいくつか追加しました。私の問題は、繰り返し通知が必要なことです(たとえば、2分ごと)が、ユーザーが表示されたとおりに応答しない場合は、通知が「積み重なる」ことは望ましくありません。これを処理する方法はないようです。明らかに、通知はユーザーが毎回応答することを意図しており、無視されることを意図していません。

それで、アプリがバックグラウンドにあるときにユーザーに通知するためのより良い方法はありますか、それともローカル通知が唯一の方法ですか?

4

2 に答える 2

1

ユーザーが応答した後、通知 N を処理している間だけ、通知 N+1 をスケジュールするのはどうですか?

于 2012-04-23T16:42:21.223 に答える
1

このコードは試していませんが、以前に送信UILocalNotificationしたコードをキャンセルして別のコードを送信できます。

if(_lastSentNotification) {
    [[UIApplication sharedApplication] cancelLocalNotification:_lastSentNotification];
}
_lastSentNotification = ...code to create UILocalNotification
[[UIApplication sharedApplication] scheduleLocalNotification:_lastSentNotification];

に関してcancelLocalNotification、API ドキュメントには次のように記載されています。

このメソッドを呼び出すと、現在アラートが表示されている場合、プログラムによって通知が閉じられます。

そのため、通知を処理するために必ずしもユーザーの操作が必要ではないようです。

于 2012-04-23T16:25:22.283 に答える