你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS_35本地通知

iOS_35本地通知

編輯:IOS開發綜合

\


應用程序代理

<喎?/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">// // BeyondAppDelegate.m // 35_本地通知 // // Created by beyond on 14-9-12. // Copyright (c) 2014年 com.beyond. All rights reserved. // #import "BeyondAppDelegate.h" @implementation BeyondAppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { UITextView *text = [[UITextView alloc]init]; text.frame = CGRectMake(40, 0, 240, 300); text.backgroundColor = [UIColor redColor]; text.text = [NSString stringWithFormat:@"didLaunchWithOption\n%@", launchOptions]; [self.window.rootViewController.view addSubview:text]; // 1、如果點擊圖標進入應用程序,則launchOptions字典為nil // 2.1、如果點擊本地通知進行應用程序,則launchOptions字典有值,值為: /* ...... */ // 2.2、如果是其他應用程序跳轉到本應用 從而打開本應用,則launchOptions字典有值,其值為: NSLog(@"didLaunchWithOption"); return YES; } /** 下面方法didReceiveLocalNotification,被調用的前提是: 1、應用沒有關閉,仍在後台運行,或者正在顯示中 2、用戶點擊通知, 進入了程序(程序還在運行中, 程序並沒有被關掉) 3、如果應用正在顯示,接收到通知時,依然會調用app代理的此方法 */ - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { UILabel *label = [[UILabel alloc] init]; label.numberOfLines = 0; label.frame = CGRectMake(0, 300, 320, 30); label.backgroundColor = [UIColor blueColor]; label.text = @"didReceiveLocalNotification"; [self.window.rootViewController.view addSubview:label]; NSLog(@"didReceiveLocalNotification"); } @end
控制器

//
//  BeyondViewController.m
//  35_本地通知
//
//  Created by beyond on 14-9-12.
//  Copyright (c) 2014年 com.beyond. All rights reserved.
//

#import "BeyondViewController.h"

@interface BeyondViewController ()
// 添加一個本地通知
- (IBAction)addLocalNotice;
// 取消本地通知
- (IBAction)cancelLocalNotice;
@end

@implementation BeyondViewController

// 添加一個本地通知
- (IBAction)addLocalNotice
{
    // 1.創建通知
    UILocalNotification *localNote = [[UILocalNotification alloc] init];
    
    // 2.設置本地通知的屬性
    localNote.alertAction = @"操作標題"; // 操作標題
    localNote.alertBody = @"倫家想你啦~~~"; // 正文
    localNote.applicationIconBadgeNumber = 5;
    // 本地通知的重復時間的間隔:每分鐘,每天,每小時...
    //    localNote.repeatInterval = NSCalendarUnitMinute;
    
    // 點擊【本地通知】後, 打開程序時,將會展示的啟動圖片
    localNote.alertLaunchImage = @"Default.png";
    
    // 【本地通知】幾時啟動
    localNote.fireDate = [NSDate dateWithTimeIntervalSinceNow:5];
    
    // 3.給app  注冊一個【本地通知】(添加),必須先移除舊的,防止重復添加
    UIApplication *app = [UIApplication sharedApplication];
    [app cancelAllLocalNotifications];
    [app scheduleLocalNotification:localNote];
}

// 取消本地通知
- (IBAction)cancelLocalNotice
{
    UIApplication *app = [UIApplication sharedApplication];
    [app cancelAllLocalNotifications];
}

@end

開啟通知,然後完全退出程序,點擊【本地通知】進入程序時,

只會調用didFinishLaunchingWithOptions方法,並傳參數 :launchOptions

不會調用didReceiveLocalNotification,

因為此方法調用的前提是:

應用正在運行,或仍在後台運行時,收到了通知

\




\


【本地通知】的重復時間的間隔: localNote.repeatInterval

\

















  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved