本地推送(前台模式与后台模式)

#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 头文件

可以全部复制进去运行,

时间: 2024-11-14 06:59:31

本地推送(前台模式与后台模式)的相关文章

本地推送

本地推送:只有程序在后台运行 或者退出以后才会收到通知并显示 程序在前台的时候,接收通知推送,但不显示 基本步骤: 1>>  使用本地通知之前 先注册usersettings 2>>  创建本地通知 3>>   设置本地通知属性 4>>   定制通知 1.UIUserNotificationType: UIUserNotificationTypeAlert: 显示提示信息 UIUserNotificationTypeBadge: 显示图标信息 UIUserN

本地推送通知在iOS8上的不同

iOS8的不同点 你如果把上面的程序运行在iOS8上,会爆出如下错误 预习01-本地推送通知[掌握][615:7847] Attempting to schedule a local notification {fire date = Monday, July 13, 2015 at 9:02:25 AM China Standard Time, time zone = (null), repeat interval = 0, repeat count = UILocalNotification

iOS-推送,证书申请,本地推送

原文地址:http://www.cnblogs.com/menghe/archive/2012/02/20/2359278.html 这是一篇编译的文章,内容均出自Parse.com的iOS开发教程,同时作者还提供了视频讲解.本文将带领开发者一步一步向着iOS推送通知的深处探寻,掌握如何配置iOS推送通知的奥义. 介绍一点点背景资料 众所周知,使用推送通知是一个很棒的.给应用添加实时消息通知的方式.这样做的结局是,开发者和用户之间,彼此永远保持着一种令人愉悦的亲密关系. 然而不幸的是,iOS的推

ios本地推送互动

?    小编只是一个小白,每个app都需要推送功能,个人觉得是基础中的基础,所以自学了下推送,并且写了点小demo,也是第一次发原创博客,还请各路大神批评指导. 信息推送可以让App尚未运行的状态下可以接受一些信息,通常的推送有苹果自带的APNS推送,这个方面的知识还请自行查询学习,本文只是针对本地推送互动方面,后续会单独写APNS推送的博文,还请持续关注! 推送信息文字主要出现四个位置:1.屏幕锁定画面:2.屏幕上方下拉的“通知区域”:3.解锁后屏幕最上方的横幅的位置:4解锁后的提示位置:解

ios本地推送demo

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {     // Override point for customization after application launch.     //应用图标数字     application.applicationIconBadgeNumber=6;          //申请用

SWIFT推送之本地推送(UILocalNotification)

本地推送通知是通过实例化UILocalNotification实现的.要实现本地化推送可以在AppDelegate.swift中添加代码实现,本事例是一个当App进入后台时推送一条消息给用户. 1.首先在didFinishLaunchingWithOptions方法内添加代码,IOS8推送消息首先要获得用户的同意,在初次安装App时会提示用户是否允许程序推送消息,此方法是App第一次运行的时候被执行一次,每次从后台激活时不执行该方法. func application(application:

iOS 本地推送

在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情. iOS中通知机制又叫消息机制,其包括两类:一类是本地通知:另一类是推送通知,也叫远程通知.两种通知在iOS中的表现一致,可以通过横幅或者弹出提醒 两种形式告诉用户,并且点击通知可以会打开应用程序,但是实现原理却完全不同.今天就和大家一块去看一下如何在iOS中实现这两种机制,并且在文章后面会 补充通知中心的内容避免初学者对两种概念的混淆. 简单些了一个关于

本地推送通知界面跳转demo

本地推送通知界面跳转demo: /* 1.在发送本地通知的时候,通过userInfo属性来指示跳转到那个界面 2.监听本地通知的接收 1.当收到本地通知就会调用该代理方法 调用场景 1.如果应用程序在后台,当点击通知的时候 2.如果应用程序在前台,一旦收到本地通知,就会调用该方法 所以:判断如果应用程序在前台时候,不要执行界面跳转,来提高用户体验 3.如果应用程序被杀死了,那么这个方法就不再执行了 //- (void)application:(UIApplication *)applicatio

本地推送的使用(干货)

一.推送通知有5种不同的呈现效果 1.在屏幕顶部显示一块横幅(显示具体内容) 2.在屏幕中间弹出一个UIAlertView(显示具体内容) 3.在锁屏界面显示一块横幅(锁屏状态下,显示具体内容) 4.更新app图标的数字(说明新内容的数量) 5.播放音效(提醒作用) 二.如何发出本地推送通知 1.创建本地推送通知对象 UILocalNotification *ln = [[UILocalNotification alloc] init]; 2.设置本地推送通知属性 (1)推送通知的触发时间(何时

iOS本地推送与远程推送

分为本地推送和远程推送2种.可以在应用没有打开甚至手机锁屏情况下给用户以提示.它们都需要注册,注册后系统会弹出提示框(如下图)提示用户是否同意,如果同意则正常使用:如果用户不同意则下次打开程序也不会弹出该提示框,需要用户到设置里面设置.一共有三种提示类型: UIUserNotificationTypeBadge // 应用图标右上角的信息提示 UIUserNotificationTypeSound // 播放提示音 UIUserNotificationTypeAlert  // 提示框 本地推送