Tôi đang cố gắng sử dụng Mountain Lion NSUserNotificationCenter mới cho ứng dụng của tôi (thực tế không quá khó). Đăng thông báo hoạt động như một sự quyến rũ quaNSUserNotificationTrung tâm thông báo bỏ qua
NSUserNotification *userNotification = [[NSUserNotification alloc] init];
userNotification.title = @"Some title";
userNotification.informativeText = @"Some text";
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];
Tuy nhiên, tôi muốn loại bỏ tất cả thông báo trên màn hình khi ứng dụng tăng tiêu điểm. Ví dụ. giống như ứng dụng Tin nhắn mới. Khi nhận được tin nhắn mới trong nền, thông báo sẽ được hiển thị. Khi ứng dụng hoạt động trở lại, các ứng dụng này sẽ tự động bị loại bỏ và biến mất khỏi màn hình và từ Trung tâm thông báo.
Để nhân rộng điều này, tôi đã đăng ký một phương thức cho thông báo NSApplicationDidBecomeActiveNotification
cũng được gọi là thành công. Trong đó tôi gọi [NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications]
.
Điều này, tuy nhiên, có tác dụng là thông báo đã được thu thập trong Trung tâm thông báo bị xóa trong khi "bong bóng" tương ứng được hiển thị ở góc trên cùng bên phải vẫn được hiển thị.
Lặp lại tất cả các thông báo đã gửi và tự xóa từng thông báo có cùng tác dụng chính xác, như đã sử dụng scheduleNotification
thay vì deliverNotification
.
Tôi có phải là người duy nhất gặp phải vấn đề này hay không, tôi có thiếu thứ gì đó để loại bỏ phần trên màn hình và phần Trung tâm thông báo của thông báo theo chương trình không?
Có vẻ như bạn nên báo cáo điều này như một lỗi trên http://bugreport.apple.com. –
Đã làm điều đó. Không ai ở Apple thực sự đọc chúng tôi đoán, nhưng chỉ vì mục đích hoàn thành. Không chắc chắn nếu tôi không bỏ lỡ một cái gì đó ở đây và đó là một lỗi về phía tôi mặc dù. – BinaryBucks
Trong bối cảnh nào bạn đang sử dụng các thông báo, bạn có cần phải có 'bong bóng' không? –