2012-04-23 5 views
0

私はUILocalNotificationについて多くのことを読んできましたが、私は自分のアプリケーションにもいくつか追加しました。 私の問題は、繰り返しの通知(たとえば2分ごと)が欲しいということですが、ユーザーがそれぞれの応答に応答していない場合は、それらを積み重ねることは望ましくありません。 これを処理する方法はありません。明らかに、通知はユーザーが毎回応答するためのものであり、無視されることはありません。UILocalNotification以外の通知を繰り返し処理する方がいいですか?

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

答えて

1

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

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

、APIドキュメントは言う:それは現在のアラートを表示している場合、プログラムでも、このメソッドを呼び出すと

は、通知を閉じます。

通知を処理するために必ずしもユーザーのやりとりをする必要はありません。

+0

ありがとうございます。問題は、バックグラウンドで通知がスタックされ、バックグラウンドでは実行できないため、ユーザーがViewをタップしてアプリがフォアグラウンドに戻ると通知を強制終了できることです... – wayneh

1

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

+0

これは、ユーザーが応答した場合にのみ機能します。問題は、通知スタックに応答しない場合で、ユーザーを応答できるのは、アプリケーションを開く「表示」をタップすることだけです。 – wayneh

+0

あなたが応答しない場合、新しいものはスケジュールされません。ユーザーが応答すると、新しいものがスケジュールされます。それはあなたが望んだことだと思っていますが、私は誤解していると思います。 – danh

+0

通知が表示されるたびにユーザーが「閉じる」をタップすると、問題はありません。しかし、ユーザーがしばらくデバイスから離れると、通知が積み重なり、何度も「閉じる」を何度もタップする必要があります。これが問題です。彼らは "ビュー"をタップする場合、それは問題ありません - アプリが開き、私は彼らが再びそれを閉じるまで通知は必要ありません... – wayneh

関連する問題