检测另一个 Chrome 应用是否是 运行
Detect if another Chrome app is running
我有一个 Chrome 扩展程序和一个 Chrome 应用程序,它们可以通过消息相互通信。只有当 Chrome 应用程序不是 运行 时,我希望扩展程序执行某些操作。鉴于 Chrome 应用程序的 ID,我如何从 Chrome 扩展中检测它是否为 运行?
我曾尝试使用 chrome 应用程序中的关闭和暂停生命周期事件来提供帮助,但由于各种原因,这条路线似乎不太可能。还有其他检测方法吗?
类似于:
chrome.management.get(appId,function(theapp){
if(theapp.enabled){
// it is running
} else {
// it is not running
}
});
好吧,您已经在使用 Messaging,所以如果您调用应用程序的事件页面,即使应用程序未启动,它也可能会唤醒以响应。
您将 "running" 定义为打开 windows。在活动页面,您可以check that:
chrome.runtime.onMessageExternal.addListener(function(message, sender, sendResponse) {
/* ... */
if (chrome.app.window.getAll().length) {
// Launched
} else {
// Not launched
}
});
我有一个 Chrome 扩展程序和一个 Chrome 应用程序,它们可以通过消息相互通信。只有当 Chrome 应用程序不是 运行 时,我希望扩展程序执行某些操作。鉴于 Chrome 应用程序的 ID,我如何从 Chrome 扩展中检测它是否为 运行?
我曾尝试使用 chrome 应用程序中的关闭和暂停生命周期事件来提供帮助,但由于各种原因,这条路线似乎不太可能。还有其他检测方法吗?
类似于:
chrome.management.get(appId,function(theapp){
if(theapp.enabled){
// it is running
} else {
// it is not running
}
});
好吧,您已经在使用 Messaging,所以如果您调用应用程序的事件页面,即使应用程序未启动,它也可能会唤醒以响应。
您将 "running" 定义为打开 windows。在活动页面,您可以check that:
chrome.runtime.onMessageExternal.addListener(function(message, sender, sendResponse) {
/* ... */
if (chrome.app.window.getAll().length) {
// Launched
} else {
// Not launched
}
});