如何在iOS中收听通知被驳回的事件?

时间:2015-05-10 16:02:59

标签: ios ios8 apple-push-notifications uilocalnotification

我列出了为本地通知操作的操作,但有没有办法确定用户何时解除通知?

以下是我在AppDelegate中聆听我的行为的方法,但解雇并不会解雇这个问题:

func application(application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler: () -> Void) {
        var actionName: String? = nil

        if let identifier = identifier {
            switch identifier {
                case "snoozeAction":
                    actionName = "snoozeActionTapped"
                    break
                default: break
            }

            if let name = actionName {
                NSNotificationCenter.defaultCenter().postNotificationName(name, object: nil)
            }
        }

        completionHandler()
    }

2 个答案:

答案 0 :(得分:9)

解除通知不会唤醒您的申请,因此无法捕获此内容。

答案 1 :(得分:2)

你应该试试这个:

 func application(application: UIApplication!,
            handleActionWithIdentifier identifier:String!,
            forLocalNotification notification:UILocalNotification!,
            completionHandler: (() -> Void)!){

                if (identifier == "FIRST_ACTION"){

                    NSNotificationCenter.defaultCenter().postNotificationName("actionOnePressed", object: nil)

                }else if (identifier == "SECOND_ACTION"){
                    NSNotificationCenter.defaultCenter().postNotificationName("actionTwoPressed", object: nil)

                }

                completionHandler()

        }