Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using 10.8 Notification Center in Java

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?

like image 616
arnoapp Avatar asked Jul 30 '12 11:07

arnoapp


2 Answers

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.

like image 63
Petesh Avatar answered Oct 21 '22 09:10

Petesh


I' ve found a solution that might work for you, you can use Apple script to show notifications on osx, try this:

Runtime.getRuntime().exec(new String[] { "osascript", "-e", "display notification "This is a message" with title "Title" subtitle "Subtitle" sound name "Funk"" });

You can read about Apple script's notifications in here

like image 21
Fantini Avatar answered Oct 21 '22 09:10

Fantini