Geo*_*off 6 java macos jna nsusernotification
我在 OS X 10.8 中的通知中心遇到了困难。我编写了一个包装器来通过 JNA 提供对 NSUserNotification 和 NSUserNotificationCenter 类的 Java 访问,但功能有限。我能够发送通知,只要 .jar 通过 JavaApplicationStub 从 .app 包运行,它就会显示。但是,当通知样式设置为“警报”时,以下行始终会记录到控制台:
11/29/12 8:37:12.537 PM usernoted[162]: Failed to validate application at (null) -67061
Run Code Online (Sandbox Code Playgroud)
接下来,单击通知会导致以下内容记录到控制台:
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.
Run Code Online (Sandbox Code Playgroud)
我确实为 NSUserNotificationCenter 类提供了委托,但是这些方法只有在 .jar 在包之外执行时才会运行。当然,这违背了目的,因为通知永远不会显示。
任何人都可以对上述两个错误提供任何见解吗?
我想知道 JavaApplicationStub 是否妨碍了我,但是当涉及到典型应用程序将如何响应通知中心事件时,我一无所知。
通过更新到此处的 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)可能是罪魁祸首。
| 归档时间: |
|
| 查看次数: |
2153 次 |
| 最近记录: |