3

UILocalNotification を使用しています。通知が表示され、ユーザーが alertAction をクリックしたときに、アプリの読み込み時に特定のビューに移動するにはどうすればよいですか? (カレンダー アプリがアラートされたイベントを表示する方法と同様です)。

私は使っている:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOption {

    UILocalNotification *localNotif = [launchOptions objectForKey:UIApplicationLaunchOptionsLocalNotificationKey]; 

    if (localNotif) {
        NSString *itemName = [localNotif.userInfo objectForKey:ItemListKey]; 
        //  [viewController displayItem:itemName]; // custom method 
        application.applicationIconBadgeNumber = localNotif.applicationIconBadgeNumber-1; 
        NSLog(@"has localNotif %@",itemName);
    }

    return YES;
}
4

1 に答える 1

3

applicationLaunch 内から特定のビューを表示できるように、アプリケーション ビュー コントローラーを構造化する必要があります。これは、たとえば、ユーザーの操作の恩恵を受けずに、View Controller 構造全体をプログラムで再作成することを意味する場合があります。タブ バーのタブを手動で選択したり、ナビゲーション コントローラー スタックを手動で作成したりする必要がある場合があります。

編集: さらに、ローカル通知で処理する 3 つのケースがあります。

  • アプリはローカル通知を受信し、バックグラウンドからフォアグラウンドに移動しました (したがって、すべてのビュー コントローラー構造は既に無傷ですが、適切な場所に手動で「移動」する必要があります)。

  • アプリはローカル通知を受け取り、すでにフォアグラウンドで実行されていました

  • アプリはちょうど起動した

于 2011-02-16T20:44:40.960 に答える