NSUserNotification состояние
Есть ли способ определить, является ли определенный NSUserNotification
все еще на экране или он был отклонен? Я не нашел способ сделать это.
1 ответ
Я думаю, что вы могли бы использовать NSUserNotificationCenterDelegate_Protocol
Он имеет userNotificationCenter:didActivateNotification: отправляется делегату, когда пользователь нажимает на уведомление пользователя, представленное центром уведомлений пользователя.
Но помните, что это также зависит от того, какой тип уведомления используется. если "Баннеры", то он может исчезнуть, прежде чем пользователь щелкнет его.
Таким образом, в связи с делегатом, вам также необходимо проверить тип уведомления и его представление.
Обновление: я не использовал NotificationCenter. Так что не имейте кода под рукой. Но также посмотрите на константы:
NSUserNotificationActivationType
These constants describe how the user notification was activated.
enum {
NSUserNotificationActivationTypeNone = 0,
NSUserNotificationActivationTypeContentsClicked = 1,
NSUserNotificationActivationTypeActionButtonClicked = 2
}
typedef NSInteger NSUserNotificationActivationType;
Constants
NSUserNotificationActivationTypeNone
The user did not interact with the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.
NSUserNotificationActivationTypeContentsClicked
The user clicked on the contents of the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.
NSUserNotificationActivationTypeActionButtonClicked
The user clicked on the action button of the notification alert.
Available in OS X v10.8 and later.
Declared in NSUserNotification.h.