esto es solo una pregunta general. No estoy teniendo un proyecto real o alguna otra cosa donde quiera hacer esto. ¿Es posible crear una aplicación en Java y agregar algo de framework o algo más y usar Notication Center?Usando 10.8 Notification Center en Java
Respuesta
Escribí un simple C
->Objective-C
shim .dylib que exportó una función showNotification
que entregó una notificación inmediatamente.
Luego escribí un contenedor JNA
a la función exportada en el dylib. Estoy seguro de que puede usar una combinación de Rococoa y JNAerator para eliminar este dylib por completo.
Luego escribí una aplicación Java simple que convertí en app bundle. Este es el punto importante. Si su aplicación Java no está en un paquete de aplicaciones, entonces las notificaciones no serán entregadas.
Mensajes entregados en el centro de notificaciones.
Es eminentemente factible, sólo hay que jugar con las reglas del NSUserNotificationCenter
- debe estar en un paquete de aplicación.
Utilicé java 7, actualización 9 para esto. Another question seems to have had even more success.
El código utilizado para compilar esta sencilla aplicación es available on github. Contiene un proyecto xcode para crear el .dylib
, y un proyecto netbeans que hace uso del .dylib
para entregar notificaciones.
Una posible solución será Growl cuando la aplicación se actualice a Growl 2.0 que enviará las notificaciones Growl al Centro de notificaciones.
información sobre Growl 2
mensajes de Growl pueden reenviarse con las versiones actuales mediante el uso de MoutainGrowl
Growl se puede utilizar bajo Java con libgrowl o jgntp
tal vez no es la solución más limpia y tiene algunos requisitos para el usuario, pero definitivamente es uno que funciona
Le sugiero que eche un vistazo a cómo IntelliJ IDEA maneja las notificaciones en MountainLionNotifications y GrowlNotifications.
Como se sugiere en otras respuestas, usa JNA para manipular NSObjects.
que he encontrado una solución que podría funcionar para usted, usted puede utilizar 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"" });
se puede leer sobre Apple script
's notificaciones en here
Esta es la manera más simple que encontré para hacer esto, funciona en el capitan sin un paquete de aplicaciones para mí –
- 1. Trabajando con Mountain Lion's Notification Center usando PyObjC
- 2. Problema al enviar Apple Push Notification usando Java y REST
- 3. usando text-align center en colgroup
- 4. Android Multiple Notification
- 5. Center Swing Windows
- 6. OS X 10.8 Gatekeeper y applets de Java
- 7. Android Delayed Notification
- 8. Email Notification Service
- 9. Android C2DM Push Notification
- 10. iPhone Push Notification Reliablity
- 11. Rails Notification Message plugin?
- 12. WPF/WCF Push Notification
- 13. Reconectar jugador en Game Center
- 14. Close android Notification
- 15. Android Push Notification
- 16. Usando Game Center para guardar/compartir datos/estado del juego
- 17. de Apple Push Notification Service
- 18. pi deprecated en OS X 10.8
- 19. principiante python en mac osx 10.8
- 20. Creating.pem file for push notification?
- 21. iOS Game Center Group
- 22. Game Center Formatting Time
- 23. Center Latex lstlisting
- 24. Bootstrap center heading
- 25. Center UIPickerView Text
- 26. Silverlight: TextBox VerticalContentAlignment = "Center"
- 27. Game Center InviteFailed
- 28. Reemplazo por <center>
- 29. SSHFS para OSX 10.8 (Mountain Lion)
- 30. Apple Push Notification Service Statistics (apns)
Puede usted, por favor, ¿publica este código en github? –
He actualizado la respuesta con un enlace al código correspondiente. No es complicado en absoluto y solo pretende ser un código de muestra. – Petesh
Consulte [esta respuesta] (http://stackoverflow.com/a/14698543) para saber cómo enviar notificaciones sin un paquete de aplicaciones. –