のさまざまなシナリオを特定しようとしていUIApplication didReceiveLocalNotification:
ます。アプリが非アクティブなときにユーザーが通知をクリックすると、対応する UI ページに移動する必要があります。それ以外の場合、ユーザーが通知をタップせずにアプリを開いた場合、中断した UI ページにとどまらせる必要があります。
UILocalNotification
ただ、自分で予定を立てていたので少し問題があります。
[[UIApplication sharedApplication] scheduleLocalNotification:scheduledAlert];
したがって、iOS によって起動されるたびに、ステータス バーの通知を手動でクリックすると、コールバックと同じデリゲート メソッドが呼び出されます。
- (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { ... }
アプリが非アクティブ モードのときの起動回数のカウント、1 のカウントは iOS の起動、2 のカウントはユーザーのクリック、相対カウント管理コードなどのトリッキーなハックを試しました。
しかし、これがベストプラクティスになるとは思いません。同じ機能を持つ iOS Messages アプリケーションを確認しました。ステータスバーを下にスクロールするなど、アプリを非アクティブモードにするUILocalNotification
と、タッチからであることを判断する (テキスト編集モードを開く) か、アプリに戻る (前の状態のままにする) ことができます。 .
ここで最善の解決策を教えていただければ幸いです。