我尝试为我的Firefox OS应用程序实现通知点击(点击)处理程序失败。
Notification对象的API文档在这里: https://developer.mozilla.org/en-US/docs/Web/API/notification
在我的应用中,我有一个功能,可以在点击通知并导航到网址时启动手机的浏览器:
notification.onclick = function(){
var navURL = new MozActivity(
{
name: "view",
data: {
type: "url",
url: "https://google.com"
}
});
console.log("Notification tapped");
};
当用户正在查看应用并点按通知时,我的应用将启动浏览器并相应地导航到Google的主页。
但是,如果我的应用程序在后台运行,则在点击通知时不会发生任何事情。控制台仍会打印"通知点击"消息(显然调用了事件处理程序),但浏览器不会启动。回到应用程序,一切正常。
即使我的应用在后台,有没有办法让浏览器启动?
编辑:替代解决方案
点击通知时是否可以将我的应用程序重新置于前台?
答案 0 :(得分:1)
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();
}
}
};
如前所述,这应该有效