【问题标题】:Using OS X 10.8 Notification Center (NSUserNotification) with Java将 OS X 10.8 通知中心 (NSUserNotification) 与 Java 一起使用
【发布时间】:2012-11-18 06:04:37
【问题描述】:

我正在为 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

接下来,单击通知会导致控制台记录以下内容:

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 在包之外执行时才会运行。当然,这违背了目的,因为通知将永远不会显示。

谁能提供对上述两个错误的任何见解?

我想知道 JavaApplicationStub 是否妨碍了我,但是当谈到典型应用程序如何响应通知中心事件时,我一无所知。

【问题讨论】:

  • 这个包装器是开源的吗?
  • 天哪,我不知道它是否仍然相关@Wojtek,但我会看看我是否可以为你挖掘它。

标签: java macos jna nsusernotification


【解决方案1】:

此问题已通过更新到此处的 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)是罪魁祸首。

【讨论】:

    猜你喜欢
    • 2015-04-07
    • 2012-07-28
    • 1970-01-01
    • 2014-10-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 2014-01-18
    • 2012-08-08
    相关资源
    最近更新 更多