zoukankan      html  css  js  c++  java
  • iOS之本地推送(前台模式与后台模式)

    #import "AppDelegate.h"

    #import "GlobalDefine.h" 

    @interface AppDelegate ()

    @end

    @implementation AppDelegate

      

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

        

        // 判断是否是8.0以上

        if ([UIDevice currentDevice].systemVersion.floatValue >= 8.0) {

            UIMutableUserNotificationCategory *category = [[UIMutableUserNotificationCategory alloc] init];

            category.identifier = NotificationIdentifier;

            

            UIMutableUserNotificationAction *foregroundAction = [[UIMutableUserNotificationAction alloc] init];

            foregroundAction.identifier = foregroundActionidentifier;

            foregroundAction.title = @"前台模式";

            foregroundAction.activationMode = UIUserNotificationActivationModeForeground;

            

            UIMutableUserNotificationAction *backgroundAction = [[UIMutableUserNotificationAction alloc] init];

            

            backgroundAction.identifier = backgroundActionidentifier;

            backgroundAction.title = @"后台模式";

            backgroundAction.activationMode = UIUserNotificationActivationModeBackground;

            

            [category setActions:@[foregroundAction, backgroundAction] forContext:UIUserNotificationActionContextDefault];

            

            NSSet *set = [NSSet setWithObjects:category, nil];

            UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge | UIUserNotificationTypeAlert | UIUserNotificationTypeSound categories: set];        

            [[UIApplication sharedApplication] registerUserNotificationSettings:settings];

        }    

        return YES;

    }

    - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void (^)())completionHandler {    

        if ([identifier isEqualToString:foregroundActionidentifier]) {

            NSLog(@"ios9点击了前台模式");

        }

        completionHandler();

    }

    @end

    ______________________________________华丽的分割线_________________________________________________

    #import "ViewController.h"

    #import "GlobalDefine.h"

    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {    

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

        notification.fireDate = [NSDate dateWithTimeIntervalSinceNow:5]; // 推送时间

        notification.alertTitle = @"推送";  // 推送标题

        notification.alertBody = @"推送内容"; // 推送的内容

        notification.category = NotificationIdentifier;

        [[UIApplication sharedApplication] scheduleLocalNotification:notification];

    @end

    ______________________________________华丽的分割线_________________________________________________

    #ifndef GlobalDefine_h

    #define GlobalDefine_h

    #define NotificationIdentifier @"NotificationIdentifier"

    #define backgroundActionidentifier @"backgroundAction.identifier"

    #define foregroundActionidentifier @"foregroundAction.identifier"

    #endif /* GlobalDefine_h */

    PS: 最下面的 #ifndef GlobalDefine_h 头文件

    可以全部复制进去运行, 

  • 相关阅读:
    『Python基础』第3节:变量和基础数据类型
    Python全栈之路(目录)
    前端
    Python十讲
    Ashampoo Driver Updater
    druid 连接池的配置
    webService 入门级
    pom
    pom----Maven内置属性及使用
    webservice 总结
  • 原文地址:https://www.cnblogs.com/SingCnblogs/p/5124334.html
Copyright © 2011-2022 走看看