我可以使用GCM向Chrome Web App发送消息。我正在使用http帖子:https://android.googleapis.com/gcm/send 发送registrationid,applicationid和senderid值。该消息在我的屏幕上显示为Chrome通知。我的问题是 - 是否有可用于启动Chrome Web App的命令或GCM事件/功能?谷歌浏览器设置为在后台运行。
这是我的消息事件的GCM侦听器:
chrome.gcm.onMessage.addListener(messageReceived);
调用messageReceived
函数,在此函数中,我在屏幕上显示消息,弹出通知,然后打开/创建窗口:
chrome.notifications.create(getNotificationId(), {
title: 'GCM Message',
iconUrl: 'gcm_128.png',
type: 'basic',
message: messageString
}, function() {});
// Center window on screen.
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 500;
var height = 300;
chrome.app.window.create('register.html', {
id: "helloWorldID",
outerBounds: {
width: width,
height: height,
left: Math.round((screenWidth-width)/2),
top: Math.round((screenHeight-height)/2)
}
});
}

答案 0 :(得分:1)
您无法直接从接收推送消息的代码启动chrome。但是,点击通知后,您可以使用http://www.w3.org/TR/service-workers/#client-focus查看是否已打开窗口,或http://www.w3.org/TR/service-workers/#client-navigate打开新窗口。
https://tests.peter.sh/notification-generator/是一个很好的示例网站,您可以在其中使用不同的选项。
答案 1 :(得分:0)
这是我的消息事件的GCM侦听器: chrome.gcm.onMessage.addListener(的messageReceived);
它调用messageReceived函数,在这个函数中,我在屏幕上显示消息,弹出通知,然后打开/创建窗口:
chrome.notifications.create(getNotificationId(), {
title: 'GCM Message',
iconUrl: 'gcm_128.png',
type: 'basic',
message: messageString
}, function() {});
// Center window on screen.
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 500;
var height = 300;
chrome.app.window.create('register.html', {
id: "helloWorldID",
outerBounds: {
width: width,
height: height,
left: Math.round((screenWidth-width)/2),
top: Math.round((screenHeight-height)/2)
}
});
}