iOS ANCS学习

ANCS 服务

服务名: AppleNotification Center Service

UUID:7905F431-B5CE-4E99-A40F-4B1E122D00D0

 

角色:

    NC:Notification Consumer  (i410e)

    NP:Notification Provider  (iOS设备)

服务特征值:

Notification Source:

 UUID9FBF120D-6301-42D9-8C58-25E699A21DBD (notifiable)

Control Point:

UUID 69D1D8F3-45E1-49A8-9821-9BBDFDAAD9D9 (writeable with response)

Data Source:

UUID 22EAC6E9-24D6-4BB5-BE44-B36ACE7C7BFB (notifiable)

 

Note:访问该服务需要进行配对。

 

NotificationSource

iOS设备(NP)用来通知i410e(NC)相应的通知;当i410e订阅(set Notify)该特征值后就可以接收通知消息(i410e已自动执行);

格式:


 

Category count: iOS通知中当前category的数量;(例如当有两个未读邮件的时候,又收到一个邮件通知,categoryCount就为3);

NotificationUID: 一个32位的唯一的数字ID,通过这个ID可以用来发送命令操作iOS通知。

  

Control Point 和 Data Source

NC可以通过Control Point 对iOS通知执行操作;(获取通知内容或者删除通知等)

NC通过对Control Point特征值写特殊的命令来实现获取通知内容等操作,如果执行成功,NP就会迅速的通过Data Source 特征值的发送通知内容到NC来响应该操作。

 

获取通知属性


该命令通过Control Point发出

CommandID :固定为0;

NotificationID: 特定通知的ID,通过NS 的通知获取。

 

NP端响应格式:

该响应通过DS通知给到NC

 

CommandID :固定为0;

NotificationID: 特定通知的ID,通过NS 的通知获取。

Attribute List:一个格式为AttributeID/16位长度值/Attribute列表的Attribute值,每个Attribute必须是字符串但是不是Null结尾,如果一个Attribute是空或者iOS忽略,则将其长度值设为0.

 

Attribute List如果超过MTU长度则会被拆分多个帧。

 

获取App属性

通过Control Point发出

CommandID :固定为1;

AppIdentifier:app的字符串标识符,以Null结束。


响应:

通过DS通知给到NC


CommandID :固定为1;

AppIdentifier:app的字符串标识符,以Null结束。

Attribute List:一个格式为AttributeID/16位长度值/Attribute列表的Attribute值,每个Attribute必须是字符串但是不是Null结尾,如果一个Attribute是空或者iOS忽略,则将其长度值设为0.

 

Attribute List如果超过MTU长度则会被拆分多个帧。

 

对通知执行操作


从iOS8之后,NP可以通知NC一些相关的动作(接通、挂断电话;删除通知等),NC可以根据NP的通知执行对应的操作。

 

从NS的通知event flag中 EventFlagPositiveAction和EventFlagNegativeAction位可以判断是否能够执行对应的操作。

通过获取通知属性对应的属性IDNotificationAttributeIDPositiveActionLabel和NotificationAttributeIDNegativeActionLabel可以获取到对应的操作描述(接听/挂断、清楚)。

 

错误码:

对Control Point执行操作的时候,收到的NP端未识别的操作的响应


I410e 返回有区别,以规范为准。

0xAA0,

0xAA1,

0xAA2,

0xAA3,

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值