Я борюсь с центром уведомлений в OS X 10.8. Я написал оболочку для предоставления Java-доступа к классам NSUserNotification и NSUserNotificationCenter через JNA, однако функциональность ограничена. Я могу отправить уведомление, и оно будет отображаться до тех пор, пока .jar запускается из пакета .app через JavaApplicationStub. Однако приведенная ниже строка всегда регистрируется в консоли, когда для стиля уведомлений установлено значение «Оповещения»:
11/29/12 8:37:12.537 PM usernoted[162]: Failed to validate application at (null) -67061
Затем, щелкнув уведомление, в консоль будет записано следующее:
11/29/12 8:38:15.291 PM usernoted[162]: Cannot find originating application to launch for event action. file://localhost/Users/geoffodonnell/Projects/bin/GuiTest.app/ is not the same app as the one that sent the original notification.
Я предоставил классу NSUserNotificationCenter делегат, однако эти методы запускаются только тогда, когда .jar выполняется вне пакета. Естественно, это противоречит цели, поскольку уведомление никогда не будет отображаться.
Может ли кто-нибудь дать какое-либо представление о двух ошибках выше?
Мне интересно, мешает ли JavaApplicationStub, однако я в неведении, когда дело доходит до того, как именно типичное приложение будет реагировать на события центра уведомлений.