これは単なる一般的な質問です。私は実際のプロジェクトやこれをやりたい他の何かを持っていません。Javaでアプリを構築し、フレームワークなどを追加してNotication Centerを使用することは可能ですか?
4 に答える
通知をすぐに配信する関数をエクスポートする単純なC
-> Objective-C
shim.dylibを作成しました。showNotification
次にJNA
、dylibにエクスポートされた関数のラッパーを作成しました。RococoaとJNAeratorを組み合わせて使用すると、このdylibを完全に排除できると確信しています。
次に、アプリバンドルに変換した単純なJavaアプリケーションを作成しました。これが重要なポイントです。Javaアプリケーションがアプリバンドルに含まれていない場合、通知は配信されません。
通知センターに配信されるメッセージ。
それは非常に実行可能であり、ルールに沿ってプレイする必要がありますNSUserNotificationCenter
-それはアプリバンドルに含まれている必要があります。
これにはjava7、update9を使用しました。別の質問はさらに成功したようです。
この単純なアプリケーションのビルドに使用されるコードは、githubで入手できます。これには、を作成するための.dylib
xcodeプロジェクトと、通知を配信するために使用するnetbeansプロジェクトが含まれています.dylib
。
私はあなたのために働くかもしれない解決策を見つけました、あなたは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
の通知について読むことができます
考えられる解決策の1つは、アプリがGrowl 2.0に更新され、Growl通知が通知センターに転送される場合のGrowlです。
Growl2に関する情報
MoutainGrowlを使用すると、Growlメッセージを現在のバージョンで転送できます。
Growlは、Javaでlibgrowlまたはjgntpを使用して使用できます。
たぶんそれは最もクリーンなソリューションではなく、ユーザーにとっていくつかの要件がありますが、それは間違いなく機能するものです
IntelliJIDEAがMountainLionNotificationsとGrowlNotificationsで通知を処理する方法を確認することをお勧めします。
他の回答で示唆されているように、JNAを使用してNSObjectを操作します。