Using 10.8 Notification Center in Java

arnoapp picture arnoapp · Jul 30, 2012 · Viewed 7.1k times · Source

this is just a general question. I'm not having an actual project or something else where I want to do this. Is it possible to build an App in Java and add some framework stuff or something else and use Notication Center?

Answer

Petesh picture Petesh · Jan 12, 2013

I wrote a simple C -> Objective-C shim .dylib that exported a function showNotification That delivered a notification immediately.

Then I wrote a JNA wrapper to the function exported in the dylib. I'm sure that you could use a combination of Rococoa and JNAerator to eliminate this dylib altogether.

Then I wrote a simple java application that I turned into an app bundle. This is the important point. If your java application is not in an app bundle then notifications will not be delivered.

Messages delivered to the notification center.

Screenshot of delivered notification

It's eminently doable, you just have to play along with the rules of the NSUserNotificationCenter - it must be in an app bundle.

I used java 7, update 9 for this. Another question seems to have had even more success.

The code used to build this simple application is available on github. It contains an xcode project for creating the .dylib, and a netbeans project that makes use of the .dylib to deliver notifications.