zoukankan      html  css  js  c++  java
  • iOS学习笔记31-本地通知

    创建并调用本地通知的几个步骤

    1,创建本地通知

    2,设置处理时间

    3,设置通知主体

    4,可以设置传递的参数userinfo

    5,调用通知

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

        

        self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

        self.window.backgroundColor = [UIColor colorWithRed:249/255.0 green:249/255.0 blue:249/255.0 alpha:1];

        

        [[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:23/255.0 green:180/255.0 blue:237/255.0 alpha:1]];

        [[UINavigationBar appearance] setBarStyle:UIBarStyleBlack];

        

        ViewController *viewController = [[ViewController alloc]init];

        self.window.rootViewController = viewController;

        

        [self.window makeKeyAndVisible];

        

        

        

        if ([[UIApplication sharedApplication]currentUserNotificationSettings].types != UIUserNotificationTypeNone) {

            [self addLocalNotification];

        }else{

            [[UIApplication sharedApplication]registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound  categories:nil]];

        

        

        

        }

        // Override point for customization after application launch.

        return YES;

    }

    -(void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings

    {

        if (notificationSettings != UIUserNotificationTypeNone) {

            [self addLocalNotification];

        }

    }

    -(void)addLocalNotification{

        UILocalNotification *notification = [[UILocalNotification alloc]init];

        

        notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:2.0];

        notification.repeatInterval = 2;

        

        notification.alertBody = @"该睡觉了哦!~~";

        notification.applicationIconBadgeNumber = 2;

        notification.alertAction = @"打开应用";

        

        notification.alertLaunchImage = @"Default";

        notification.soundName = @"msg.caf";

        notification.userInfo = @{@"id":@1,@"name":@"dsn"};

        [[UIApplication sharedApplication]scheduleLocalNotification:notification];

    }

    - (void)applicationWillEnterForeground:(UIApplication *)application {

        

        [[UIApplication sharedApplication]setApplicationIconBadgeNumber:0];

        

        

        // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.

    }

  • 相关阅读:
    跟着Android学设计模式:代理(proxy)
    阿里巴巴无敌公关能力鲜为人知的内幕
    Linux与JVM的内存关系分析
    树莓派学习笔记——交叉编译练习之SQLite3安装
    atitit.eclipse 新特性总结3.1--4.3
    JAVA-1-学习历程1:基础知识1
    [OpenNebula]中间件訪问驱动程序
    RESTFul中的那些事(1)---在RESTFul中,HTTP Put和Patch操作的差别?
    再看数据库——(3)触发器
    QT5: QApplication, no such file or directory
  • 原文地址:https://www.cnblogs.com/adodo/p/5226245.html
Copyright © 2011-2022 走看看