我误解了活动聆听的工作方式。这是信息:
https://developer.chrome.com/apps/event_pages.html#registration
“由于听众本身仅存在于事件页面的上下文中,因此您必须每次加载事件页面时都使用addlistener;仅在运行时进行操作。单独安装本身是不足的。”
在我提出的问题的评论中向我指出。所有人现在都在工作。
题
subest.json:
{
"app": {
"background": {
"scripts": [ "background.js" ]
}
},
"key": "...",
"manifest_version": 2,
"name": "Push Sample",
"permissions": [ "notifications", "pushMessaging" ],
"version": "1.0"
}
background.js:
chrome.runtime.onInstalled.addListener(
function() {
chrome.pushMessaging.onMessage.addListener(
function (message) {
chrome.notifications.create(
'',
{
type: 'basic',
iconUrl: 'icon24.png',
title: 'The Title',
message: message.payload
},
function (notificationID) {
}
);
}
);
}
);
那是整个应用程序。没有HTML页面(没有创建窗口),也没有其他JavaScript。
当背景页面处于活动状态时,应用程序正常工作,我会在屏幕右上方看到通知消息弹出窗口。 (未显示的是我暂时使用的一些代码,以向我展示我的服务器使用的通道ID。服务器是使用Google Cloud Message用于Chrome Service的PHP程序。似乎还可以。)
但是,如果我不做几秒钟的事情,那么该应用就会变得不活跃。在Chrome的扩展页面上,该行:
Inspect views: background page
更改为:
Inspect views: background page (Inactive)
然后发送消息时,该行更改为活动状态(“背景页”,没有“(不活动)”部分,表明已接收到消息。但是,通知代码不会导致弹出窗口。
我无法确定记录有什么问题,因为当打开JavaScript控制台时,应用程序保持活动状态,然后工作。
问题:根据扩展页面上的状态指示,我的应用程序似乎已唤醒,但它不起作用。有人知道为什么吗?
归档了错误: :进行了更多的测试,包括具有稳定(不是beta)的Chrome的测试。在OS X,Chrome OS和Windows上尝试了。一样。这是我提出的问题: https://code.google.com/p/chromium/issues/detail?id=316315
解决方案 2
我误解了活动聆听的工作方式。这是信息:
https://developer.chrome.com/apps/event_pages.html#registration
“由于听众本身仅存在于事件页面的上下文中,因此您必须每次加载事件页面时都使用addlistener;仅在运行时进行操作。单独安装本身是不足的。”
在我提出的问题的评论中向我指出。所有人现在都在工作。
其他提示
听起来像个错误,在 http://crbug.com/net 并包括示例代码。更新问题以链接到该问题,以便其他人可以颗粒以跟踪状态。