文档章节

IOS 本地通知

小鸡蹲蘑菇
 小鸡蹲蘑菇
发布于 2015/05/28 19:26
字数 287
阅读 134
收藏 6

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

环境基于XMPP模块练习。

在ios8以前,不包括ios8,socket 是不支持后台运行。且在ios7要做配置info.plist文件。

添加 Required background modes = voip; //使用soket在后台运行


//    若想要IOS7支持后台socket连接必须设置以下参数,并且在info。plist中设置Required background modes为VOIP模式
    _xmppStream.enableBackgroundingOnSocket = YES;


首先在XMPP的接收消息的代理方法中声明本地通知的对象

- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message
{
//    XMPPMessage *msg = message
    NSString *str = [message body];
    //判断是否为后台
    if ([UIApplication sharedApplication].applicationState != UIApplicationStateActive )
    {
        NSLog(@"后台");
//        创建本地通知
        UILocalNotification *locati = [[UILocalNotification alloc ]init];
//        提醒内容信息
        locati.alertBody = [NSString stringWithFormat:@"%@\n%@",message.fromStr,message.body];
//        提醒声音
        locati.soundName = @"default";
        locati.fireDate = [NSDate date];
//        执行本地通知
        [[UIApplication sharedApplication] scheduleLocalNotification:locati];
        //将其添加到本地通知
    }
 
}

另外还需要注册通知,可以放在AppDelegate中注册,当程序加载完毕注册本地通知

/**
     *    
     UIUserNotificationTypeBadge   = 1 << 0,
     UIUserNotificationTypeSound   = 1 << 1, 
     UIUserNotificationTypeAlert   = 1 << 2,
   设置通知类型声音,角标,提醒alert
     */
    if ([UIDevice currentDevice].systemVersion.doubleValue > 8.0) {
        
        UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeSound|UIUserNotificationTypeAlert categories:nil];
        [application registerUserNotificationSettings:settings];
    }


© 著作权归作者所有

下一篇: FMDB的使用
小鸡蹲蘑菇
粉丝 5
博文 68
码字总数 24144
作品 0
海淀
私信 提问
iOS实现本地通知(local notification)的简单示例

本地通知,local notification,用于基于时间行为的通知,比如有关日历或者todo列表的小应用。另外,应用如果在后台执行,iOS允许它在受限的时间内运行,它也会发现本地通知有用。比如,一个...

木木情深
2014/02/27
209
0
iOS 10 的推送 User Notifications Framework

介绍 User Notifications Framework 是苹果在 WWDC 2016 推出的。iOS 10 中以前杂乱的和通知相关的 API 都被统一了,现在开发者可以使用独立的 UserNotifications.framework 来集中管理和使用...

佳妮
2018/10/30
47
1
iOS开发系列--通知与消息机制

概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果其他应用此刻发生了一些用户感兴趣的那么通过通知机制就可以告诉用户此时发生的事情。iOS中通知机制又叫消息机制,其包...

TomatosX
2015/03/19
652
0
iOS开发系列--通知与消息机制

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jianxin160/article/details/47753239 概述 在多数移动应用中任何时候都只能有一个应用程序处于活跃状态,如果...

KenshinCui
2015/08/18
0
0
IOS NSNotification 通知

一. 先看下官方对NSNotification通知的解释 1. NSNotification 通知  @interface NSNotification : NSObject   接口通知,继承NSObject,实现NSCopying,NSCoding协议  A container for...

冬季的暖风
2018/08/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

有哪些常用的命名git分支实例的例子? [关闭]

现在,我已经使用本地git存储库与我的组的CVS存储库进行了几个月的交互。 我已经制作了一个几乎神经质的分支,其中大部分幸运地合并回我的行李箱。 但是命名开始成为一个问题。 如果我有一个...

javail
14分钟前
5
0
在virtualenv中使用不同的Python版本

我有一个目前使用python 2.5.4运行的Debian系统。 我正确安装了virtualenv,一切正常。 我是否可以将virtualenv与其他版本的Python一起使用? 我编译了Python 2.6.2,并希望将其与一些virtu...

技术盛宴
29分钟前
6
0
保证金术语参考

术语,定义 1.钱包, 余额. ON THE ENCHANGED CONVERGENCE OF STANDARD LATTICE METHODS FOR OPTION PRICING...

MtrS
32分钟前
4
0
x006-函数和模块的使用

函数和模块的使用 在Python中可以使用def关键字来定义函数,和变量一样每个函数也有一个响亮的名字,而且命名规则跟变量的命名规则是一致的。在函数名后面的圆括号中可以放置传递给函数的参数...

伟大源于勇敢的开始
42分钟前
4
0
为什么面试必问线程状态?你的回答满分了吗

看很多同学的面经、网上的面试资料,都不约而同的提到了一个基础问题:“你知道线程有几种状态吗?状态之间的扭转是怎样的?”,有准备的同学都知道有五种:New(新建)、Runnable(可运行)...

Z_J_H
43分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部