Java 显示来自web应用程序的系统托盘通知或桌面通知

Java 显示来自web应用程序的系统托盘通知或桌面通知,java,swing,notifications,Java,Swing,Notifications,我使用J2EE6.0在Java中创建了一个具有登录功能的web应用程序。当用户登录到应用程序时,计时器将在59:59(分:秒)开始计时,并持续减少,直到3:00。当还剩3分钟时,它会向要求注销的用户显示一个弹出窗口,或再次将其时间/会话延长到59:59 我的问题是,用户是否在outlook上做其他工作,或者在新的窗口/浏览器(Firefox等)中通过internet浏览其他内容。如何通知用户其会话/时间即将到期。此应用程序仅在Microsoft WindowsInternet Explorer上

我使用J2EE6.0在Java中创建了一个具有登录功能的web应用程序。当用户登录到应用程序时,计时器将在59:59(分:秒)开始计时,并持续减少,直到3:00。当还剩3分钟时,它会向要求注销的用户显示一个弹出窗口,或再次将其时间/会话延长到59:59

我的问题是,用户是否在outlook上做其他工作,或者在新的窗口/浏览器(Firefox等)中通过internet浏览其他内容。如何通知用户其会话/时间即将到期。此应用程序仅在Microsoft WindowsInternet Explorer上运行

我找到了这些用于显示桌面通知的链接,但不幸的是,我的应用程序只能在Internet Explorer上运行

因此我无法使用桌面通知。

我想我会创建一个swing应用程序,在Windows系统托盘中显示通知弹出窗口,上面写着“您的会话即将过期”。但是我很困惑它如何在客户端机器上运行。 我听说过一种叫做JavaWebStartAjaxSwing的东西。 使用JavaWebStart软件,用户可以通过单击网页中的链接来启动Java应用程序。它需要客户端系统中的JRE。Java Web Start将要求用户下载Java插件,该插件将下载一个烦人的JRE(如果在客户端系统中找不到的话)

AjaxSwing将Swing应用程序转换为HTML、Javascript和CSS,因此我不确定它将如何从浏览器中显示在系统托盘中的弹出窗口。我认为这将继续坚持使用浏览器

我搜索了“闪烁选项卡”选项,但它没有在windows任务栏中闪烁选项卡

我在某处读到了《咆哮Windows》
,但我不确定它是否对我有帮助。请也告诉我。
请建议我如何通知用户其会话即将过期。我已经知道我可以通过电子邮件通知。请帮助我提出一个创新的想法和解决方案,以便进一步研究。

我遇到了同样的问题,并将其作为一种解决办法。您也可以在插件回调中使用“onShow”播放声音或其他任何内容,以确保用户得到通知。

在谷歌Chrome上试用:

function notifyBrowser(title, desc, url) {
    if (Notification.permission !== "granted") {
        Notification.requestPermission();
    } else {
        var notification = new Notification(title, {
            icon: 'http://YourWebsite.com/logo.png',
            body: desc,
        });
        /* Remove the notification from Notification Center when clicked.*/
        notification.onclick = function() {
            window.open(url);
        };
        /* Callback function when the notification is closed. */
        notification.onclose = function() {
            console.log('Notification closed');
        };
    }
}
因此,只需调用函数:

notifyBrowser(“注意”,“您有新通知”,“www.stackoverflow.com”)


font:

有人能帮我解决这个问题吗?我需要一些有价值的建议,请帮忙。我想至少有一个人可能遇到过这个问题。请提出一些建议似乎没有人能回答这个问题,因为差不多两个月了,也没有人对这篇文章发表评论。如果有人遇到过此类问题,或者他们知道更好的选择,请分享您的建议。我向所有人敞开心扉。我相信你还没有得到你想要的回应,因为这是不可能的。浏览器将沙箱所有客户端应用程序,不允许跨越该边界进行通信。我认为解决办法是让用户下载并安装一个额外的独立wondows应用程序(如growl for windows)它可以注册事件和/或查询您的登录服务器以获取所需信息,并显示系统托盘中的弹出窗口。@2manyprojects-谢谢您的回答,但我不能要求用户仅为通知目的安装独立应用程序。谢谢你宝贵的回答!你好,穆罕默德,我已经访问了这个链接。这将适用于当前窗口/选项卡。我想要一些东西,通过这些东西,我可以通知用户,即使他不使用浏览器和其他windows应用程序,他的会话也将过期。我希望我向你澄清了我的问题