Javascript 如何从Chrome扩展启动Chrome应用程序?

Javascript 如何从Chrome扩展启动Chrome应用程序?,javascript,google-chrome,google-chrome-extension,google-chrome-app,Javascript,Google Chrome,Google Chrome Extension,Google Chrome App,通常,应用程序是从chrome://apps/ 或者在Chrome应用程序的按钮中,但如何从外部Chrome扩展 我的分机号码: ->manifest.json ->background.js 我的应用程序: ->manifest.json ->background.js 然后,如何从我的扩展启动我的应用程序?文档中有: 您需要“管理”权限才能进行此操作 编辑:请参阅Daniel Herr's以获得侵入性较小的解决方案。如果您同时拥有这两个项目,则在收到分机发送的消

通常,应用程序是从chrome://apps/ 或者在Chrome应用程序的按钮中,但如何从外部Chrome扩展

我的分机号码:

->manifest.json
->background.js
我的应用程序:

->manifest.json
->background.js
然后,如何从我的扩展启动我的应用程序?

文档中有:

您需要
“管理”
权限才能进行此操作



编辑:请参阅Daniel Herr's以获得侵入性较小的解决方案。

如果您同时拥有这两个项目,则在收到分机发送的消息时,您可以使用消息打开应用程序窗口。这没有权限警告,将排斥像管理这样的用户

首先,将其添加到两个清单中:

"externally_connectable": { "ids": [ "idoftheotheritem" ] }
然后,在应用程序中侦听消息并创建应用程序窗口:

chrome.runtime.onMessageExternal.addListener(function() {
  chrome.app.window.create("app.html");
}
最后,从扩展发送:

chrome.runtime.sendMessage("idoftheapp", { launch: true })

好建议!如果这样做有效,我建议OP更改已接受的answer@Xan:请不要使用RTFM。@marlar已完成。还有别的吗?
chrome.runtime.sendMessage("idoftheapp", { launch: true })