0

私のアプリでは、ユーザーが設定した距離が監視されます。距離がカバーされると、AlertView ダイアログが表示され、サウンドが再生されます。OK ボタンをタップすると、alertView が消えて音が止まります。アプリがバックグラウンドに移行すると、メソッド UILocalNotification がサウンドとメッセージを処理します。これは正常に動作します。しかし...

アプリがフォアグラウンドにあり、AlertView が表示されて閉じられると、UILocalNotification メソッドはアクティブなままになります。したがって、アプリがバックグラウンドに移動すると、ローカル通知がサウンドとともに「再生」されます (再び)。

どうすればその動作を回避できますか?

メッセージを 1 回再生します。フォアグラウンドまたはバックグラウンドで。両方ではありません。この問題を if() ステートメントで解決しようとしましたが、予期しない結果が得られました。

ご意見をお聞かせください。

4

1 に答える 1

1

電話するだけ

[[UIApplication sharedApplication] cancelAllLocalNotifications]; 

ユーザーがフォアグラウンドでアラートを閉じたとき。

他のローカル通知をアクティブにする必要がある場合は、問題の通知をキャンセルしてください。

于 2013-02-14T16:22:54.453 に答える