[セットトップ]iOS学習ノート45-ローカル通知UILocalNotification

2845 ワード

iOSではリモートサーバプッシュ(APNS)という2つの情報提示プッシュ方式がありますが、前にノートで紹介したAPNS:http://blog.csdn.net/tangren03/article/details/8482259もう1つはローカル通知UILocalNotificationです.今日はUILocalNotificationの使用を簡単に記録します.代コードには注釈大笑
 
UILocalNotification *notification = [[UILocalNotification alloc] init];

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

    [formatter setDateFormat:@"HH:mm:ss"];

    //       

    NSDate *now = [formatter dateFromString:@"15:00:00"];

    notification.fireDate = now;

    //  

    notification.timeZone = [NSTimeZone defaultTimeZone];

    //         ,    、 、 

    notification.repeatInterval = NSDayCalendarUnit;

    //    

    notification.alertBody = @"        ";

    //           

    notification.soundName = UILocalNotificationDefaultSoundName;

    //      

    [[UIApplication sharedApplication] scheduleLocalNotification:notification];

以上のコードは、iOSのローカル通知UILocalNotificationを使用しているTodoや目覚まし時計類のアプリケーションには、ユーザーに通知する機能があり、毎日、毎週、毎月一定の時間にアプリケーションに戻るように促すアプリケーションもあり、ローカル通知を使用しています.以上のコードクリップは、毎日の午後3時に通知メッセージをポップアップすることを実現しています.
 
通知にパラメータ情報を携帯する場合は、次の方法を使用します.
 
NSDictionary *dic = [NSDictionary dictionaryWithObject:@"name" forKey:@"key"];

    notification.userInfo = dic;

ソフトウェアが実行中の場合は、AppDelegateのコールバックメソッドでパラメータ情報を取得して処理できます.
 
 
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

{

    if (notification) {

        NSDictionary *userInfo =  notification.userInfo;

        NSString *obj = [userInfo objectForKey:@"key"];

        NSLog(@"%@",obj);

    }

}

また、登録解除のローカル通知は2つの方法で取り消すことができます.1つは指定解除の通知で、2つ目はすべての登録解除の通知です.
 
 
[[UIApplication sharedApplication] cancelLocalNotification:localNotification];

   [[UIApplication sharedApplication] cancelAllLocalNotification];

以上、UILocalNotificationの使用について簡単に紹介しましたが、ご指摘と補足を歓迎します.
私たちのQQグループまたは微信の公衆アカウントに参加してください:Ryan's zone公衆アカウント及びQQ群
同時に私の新浪微博に注目して私と交流することを歓迎します:@唐靭_Ryan