5

OS X 10.8 の通知センターに苦労しています。JNA を介して NSUserNotification および NSUserNotificationCenter クラスへの Java アクセスを提供するラッパーを作成しましたが、機能は制限されています。JavaApplicationStub を介して .app バンドルから .jar が実行されている限り、通知を送信できます。ただし、通知スタイルが「アラート」に設定されている場合、以下の行は常にコンソールに記録されます。

11/29/12 8:37:12.537 PM usernoted[162]: Failed to validate application at (null) -67061

次に、通知をクリックすると、コンソールに次のログが記録されます。

11/29/12 8:38:15.291 PM usernoted[162]: Cannot find originating application to launch for event action.  file://localhost/Users/geoffodonnell/Projects/bin/GuiTest.app/ is not the same app as the one that sent the original notification.

NSUserNotificationCenter クラスにデリゲートを提供しましたが、これらのメソッドは、.jar がバンドルの外部で実行された場合にのみ実行されます。当然、通知は表示されないため、これは目的に反します。

上記の2つのエラーについて誰か洞察を提供できますか?

JavaApplicationStub が邪魔をしているのではないかと思っていますが、典型的なアプリケーションが通知センターのイベントに正確にどのように応答するかについてはわかりません。

4

1 に答える 1

2

この問題は、ここにあるJDK 7u10(開発者プレビュー)に更新することで解決されます。

http://jdk7.java.net/download.html

そして、ここで説明されているappbundlerツールを使用して、

http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html

アプリケーションバンドルを作成します。このツールは、異なる実行可能スタブファイルを使用してアプリケーションバンドルを作成するため、おそらくJavaApplicationStub(および/またはJRE 1.6)が原因でした。

于 2012-12-09T16:32:07.680 に答える