1
bestsanmao 2015-10-29 17:08:13 +08:00
应该可以
我用 outlook ios 版收邮件 每当有新邮件推送提醒时(锁屏状态 亮屏提醒) 我在电脑上用 web 方式查看邮件后 锁屏界面的通知就没了 |
2
laoyur 2015-10-29 17:26:07 +08:00
好神奇,一直都只有取消 Local Notification 的 API ,居然能操纵 Push Notification ?而且是在 app 没有运行的情况下
是我孤陋寡闻了吗?关注 |
3
hahasong 2015-10-29 17:27:00 +08:00
当然可以,至少安卓是可以的
|
5
qinxg 2015-10-29 17:30:04 +08:00
看 QQ 啊 QQ 手机消息电脑收了 推送就消失了
|
6
hahasong 2015-10-29 17:36:31 +08:00
|
10
fox 2015-10-29 18:01:27 +08:00
可以的
|
11
kaedea 2015-10-29 18:29:22 +08:00
再推送一次就撤销了
|
12
finab 2015-10-29 19:43:43 +08:00
iOS 应该是再推送一条 BadgeNumber 设置为 0 吧。。
就像应用自己设置 BadgeNumber 为 0 效果一样。 推送就没了。。 |
13
laoyur 2015-10-29 19:54:09 +08:00 via Android
@finab 那样只会把所有的 notification 都消掉
我一直以为楼主和楼下讨论的都是消掉固定某条 push (not local),我以前调查过这个问题,是没有公开消掉某条 push 的接口的 至于 5 楼的说法,抱歉我现在没有 iOS 设备,也无从验证,不知道是不是用的 badgenumber 0 的全消方式,还是其实用的是消掉某条 local 11 楼的说法倒是第一次听到 |
14
zongwan 2015-10-29 20:45:04 +08:00
iOS 可以取消特(自)定 type 的
|
15
mudkip 2015-10-29 21:15:01 +08:00
QQ 等 app 都有这个功能
没具体研究过,不过怀疑是发送一条 content-available 的 push ,然后启动 app 的后台来处理 |
16
typcn 2015-10-29 22:07:18 +08:00
收到推送之后,客户端是可以在后台启动并处理一下这个推送的。
加一个特殊的 flag ,删推送 |
17
vic2012 2015-10-29 22:11:39 +08:00 via Android
这并不是 iOS9 的新特性,至少在 iOS8 就可以实现了
|
18
matsuijurina 2015-10-29 22:26:01 +08:00 via iPad
@typcn 正解。这是做 iBeacon 应用的必备技巧,否则冗余通知太多了。
|
19
laoyur 2015-10-30 09:20:58 +08:00
谢谢楼上各位,找到文档了 http://stackoverflow.com/a/31450953
大致流程是:启用“ Enable Background Modes ”,发的 push payload 中必须带有"content-available":1 ,然后 app 在后台 /未运行的时候就能通过 application:didReceiveRemoteNotification:fetchCompletionHandler:被唤醒, app 自己处理一下后,发一个 [local] notification 展示在 notification center 中,并带上 tag 等下一条"content-available":1 的 push 到来时,再根据业务处理之前的 local notification ,比如消掉某条特定的 local 消息。 很久没做 iOS ,没有注意到 API 有这种变化 |