jre - java para mac capitan
Usando el Centro de Notificaciones 10.8 en Java (4)
Esto es sólo una pregunta general. No tengo un proyecto real o algo más en el que quiera hacer esto. ¿Es posible crear una aplicación en Java y agregar algunas cosas del marco o alguna otra cosa y usar Notication Center?
Encontré una solución que podría funcionar para usted, puede usar Apple script
para mostrar notificaciones en osx, intente esto:
Runtime.getRuntime().exec(new String[] { "osascript", "-e", "display notification "This is a message" with title "Title" subtitle "Subtitle" sound name "Funk"" });
Puedes leer sobre las notificaciones del Apple script
here
Le sugiero que analice cómo IntelliJ IDEA maneja las notificaciones en MountainLionNotifications y GrowlNotifications .
Como se sugiere en otras respuestas, utiliza JNA para manipular NSObjects.
Una posible solución será Growl cuando la aplicación se actualice a Growl 2.0, que enviará las notificaciones de Growl al Centro de notificaciones.
Información sobre Growl 2
Los mensajes de Growl se pueden reenviar con las versiones actuales utilizando MoutainGrowl
Growl se puede usar bajo Java con libgrowl o jgntp
Tal vez no sea la solución más limpia y tiene algunos requisitos para el usuario, pero definitivamente es uno que funciona
Escribí un simple C
-> Objective-C
shim .dylib que exportaba una función showNotification
que entregaba una notificación inmediatamente.
Luego escribí un contenedor JNA
a la función exportada en el dylib. Estoy seguro de que podrías usar una combinación de Rococoa y JNAerator para eliminar este dylib por completo.
Luego escribí una aplicación java simple que convertí en un paquete de aplicaciones . Este es el punto importante. Si su aplicación java no está en un paquete de aplicaciones, las notificaciones no se entregarán.
Mensajes entregados al centro de notificaciones.
Es eminentemente factible, solo tienes que jugar con las reglas del NSUserNotificationCenter
- debe estar en un paquete de aplicaciones .
Usé Java 7, actualización 9 para esto. Otra pregunta parece haber tenido aún más éxito .
El código utilizado para construir esta sencilla aplicación está disponible en github . Contiene un proyecto de xcode para crear el .dylib
, y un proyecto de netbeans que hace uso del .dylib
para entregar notificaciones.