19

これは単なる一般的な質問です。私は実際のプロジェクトやこれをやりたい他の何かを持っていません。Javaでアプリを構築し、フレームワークなどを追加してNotication Centerを使用することは可能ですか?

4

4 に答える 4

16

通知をすぐに配信する関数をエクスポートする単純なC-> Objective-Cshim.dylibを作成しました。showNotification

次にJNA、dylibにエクスポートされた関数のラッパーを作成しました。RococoaJNAeratorを組み合わせて使用​​すると、このdylibを完全に排除できると確信しています。

次に、アプリバンドルに変換した単純なJavaアプリケーションを作成しました。これが重要なポイントです。Javaアプリケーションがアプリバンドルに含まれていない場合、通知は配信されません。

通知センターに配信されるメッセージ。

配信された通知のスクリーンショット

それは非常に実行可能であり、ルールに沿ってプレイする必要がありますNSUserNotificationCenter-それはアプリバンドルに含まれている必要があります。

これにはjava7、update9を使用しました。別の質問はさらに成功したようです。

この単純なアプリケーションのビルドに使用されるコードは、githubで入手できます。これには、を作成するための.dylibxcodeプロジェクトと、通知を配信するために使用するnetbeansプロジェクトが含まれています.dylib

于 2013-01-12T14:30:00.433 に答える
10

私はあなたのために働くかもしれない解決策を見つけました、あなたはApple scriptosxで通知を表示するために使うことができます、これを試してください:

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

あなたはここでApple scriptの通知について読むことができます

于 2015-12-11T14:30:59.607 に答える
5

考えられる解決策の1つは、アプリがGrowl 2.0に更新され、Growl通知が通知センターに転送される場合のGrowlです。

Growl2に関する情報

MoutainGrowlを使用すると、Growlメッセージを現在のバージョンで転送できます。

Growlは、Javaでlibgrowlまたはjgntpを使用して使用できます。

たぶんそれは最もクリーンなソリューションではなく、ユーザーにとっていくつかの要件がありますが、それは間違いなく機能するものです

于 2012-08-20T09:27:00.853 に答える
4

IntelliJIDEAがMountainLionNotificationsGrowlNotificationsで通知を処理する方法を確認することをお勧めします。

他の回答で示唆されているように、JNAを使用してNSObjectを操作します。

于 2013-01-18T18:35:34.010 に答える