Это всего лишь общий вопрос. У меня нет реального проекта или чего-то еще, где я хочу это сделать. Возможно ли создать приложение на Java и добавить некоторые фреймворки или что-то еще и использовать Notication Center?
Использование 10.8 Центра уведомлений в Java
Ответ 1
Я написал простой C
→ Objective-C
shim.dylib, который экспортировал функцию showNotification
, которая немедленно отправила уведомление.
Затем я написал JNA
оболочку для функции, экспортированной в dylib. Я уверен, что вы могли бы использовать комбинацию Rococoa и JNAerator, чтобы полностью устранить этот dylib.
Затем я написал простое java-приложение, которое я превратил в пакет приложений. Это важный момент. Если ваше приложение Java не входит в комплект приложения, уведомления не будут доставлены.
Сообщения, отправленные в центр уведомлений.
Это в высшей степени выполнимо, вам просто нужно играть вместе с правилами NSUserNotificationCenter
- , это должно быть в комплекте приложений.
Я использовал java 7, для этого обновил 9. Другой вопрос, похоже, имел еще больший успех.
Код, используемый для создания этого простого приложения, доступен в github. Он содержит проект xcode для создания .dylib
и проект netbeans, который использует .dylib
для доставки уведомлений.
Ответ 2
Я нашел решение, которое может сработать для вас, вы можете использовать Apple script
для отображения уведомлений по osx, попробуйте следующее:
Runtime.getRuntime().exec(new String[] { "osascript", "-e", "display notification "This is a message" with title "Title" subtitle "Subtitle" sound name "Funk"" });
Вы можете прочитать о Apple script
уведомлениях в здесь
Ответ 3
Одним из возможных решений будет Growl, когда приложение будет обновлено до Growl 2.0, которое будет перенаправлять уведомления Growl в Центр уведомлений.
Информация о Growl 2
Сообщения Growl могут быть перенаправлены текущими версиями с помощью MoutainGrowl
Growl может использоваться под Java с libgrowl или jgntp
Возможно, это не самое чистое решение, и у него есть некоторые требования к пользователю, но это определенно тот, который работает
Ответ 4
Я предлагаю вам взглянуть на то, как IntelliJ IDEA обрабатывает уведомления в MountainLionNotifications и GrowlNotifications.
Как было предложено в других ответах, он использует JNA для управления NSObjects.