javascript - 点击通知时启动 Firefox OS 应用程序

标签 javascript notifications firefox-os

我一直未能成功尝试为我的 Firefox OS 应用程序实现通知点击 (tap) 处理程序。

有关通知对象的 API 文档位于此处: https://developer.mozilla.org/en-US/docs/Web/API/notification

在我的应用程序中,我有一个功能,可以在点击通知时启动手机浏览器并导航到 URL:

notification.onclick = function(){
   var navURL = new MozActivity(
   {
       name: "view",
       data: {
           type: "url",
           url: "https://google.com"
       }
    });

    console.log("Notification tapped");
};

当用户查看应用并点击通知时,我的应用启动浏览器并相应导航至 Google 主页。

但是,如果我的应用程序在后台运行,则点击通知时不会发生任何情况。控制台仍会打印“已点击通知”消息(因此显然调用了事件处理程序),但浏览器不会启动。返回应用程序,一切再次正常。

有没有办法让浏览器在我的应用程序处于后台时启动?

编辑:替代解决方案

点击通知时是否可以将我的应用程序重新置于前台?

最佳答案

notification.onclick = function(){
    var navURL = new MozActivity(
   {
       name: "view",
       data: {
           type: "url",
           url: "https://google.com"
       }
   });
   navUrl.onsuccess = function () {
       // fired if appication is running foreground
   }
   navUrl.onerror = function () {
       // fired if application is running background
       navigator.mozApps.getSelf().onsuccess = function (){
           this.result.launch();
       }
   }
};

正如之前所说,这应该有效

关于javascript - 点击通知时启动 Firefox OS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28422853/

相关文章:

javascript - 使用 AngularJS $watch 更改数组中的值

Firefox OS 模拟器中的 JavaScript 问题(CSP 警告)

android - 处理 android 通知中的按钮

android - 通知计数未计数

firefox-os - 火狐操作系统 : Back up and restore user data

security - 我可以在自己的手机上安装经过认证的应用程序吗? (火狐操作系统)

javascript - 为什么使用 CDN(内容交付网络)?

javascript - 如何使 for of 循环在数组中向下迭代而不是向上迭代

javascript - Node.js npm install express 无法从注册表中获取

python - 如何在我的网络应用程序中启用短信通知?