簡體   English   中英

如何在運行時找出NSUserNotification的樣式? 或強制關閉警報?

[英]How to find out style of NSUserNotification during run-time? Or force close an alert?

根據OS X Mountain Lion發行說明

“用戶可以最終控制顯示的通知和樣式(橫幅,警報等)。沒有機制可以覆蓋用戶首選項。”

盡管我想做的就是從警報風格“降級”到橫幅風格......很好。 但我能否至少在didActivateNotification方法中找出通知是警報還是橫幅樣式?

當警報是橫幅(這是我想要的)時,單擊其內容是唯一可能的操作,並且這兩個觸發didActivateNotification方法,其notification.activationType值為NSUserNotificationActivationTypeContentsClicked並關閉通知橫幅。 我希望我的應用通過打開互聯網網址來回應此操作。

當用戶選擇警報式通知時,單擊警報內容也會生成具有相同notification.activationType值的didActivateNotification,但它會保留在屏幕上而不是消失(只有在按下Action按鈕時才會消失,並且notification.activationType有不同的價值)。 如果用戶單擊警報通知的內容區域,我不希望我的應用程序針對相同的警報通知重復觸發操作。

另一種解決方案是在用戶單擊其內容時強制關閉警報通知氣泡。 這可能嗎?

您可以使用以下內容刪除通知:

[[NSUserNotificationCenter defaultUserNotificationCenter] removeDeliveredNotification:notification];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM