扩展获取当前打开的应用

时间:2016-07-29 17:58:07

标签: javascript google-chrome-extension google-chrome-app

我想使用我的扩展程序启动应用程序,但我需要检查它是否已经打开,因此我不会重新打开它或打开新的应用程序窗口。

无论如何我能做到吗?

感谢。

1 个答案:

答案 0 :(得分:0)

使用chrome.windows.getAll列出app类型和chrome.management.launchApp的所有窗口,以便在找不到窗口的情况下启动应用。

manifest.json中的

所需权限"tabs""management"

function launchApp(id, callback) {
    chrome.windows.getAll({
        windowTypes: ['app'],
        populate: true
    }, function(windows) {
        if (windows.some(function(w) { return w.tabs[0].url.indexOf(id) > 0 })) {
            if (callback) {
                callback({state: 'already running'});
            }
            return;
        }
        chrome.management.launchApp(id, function() {
            if (callback) {
                callback({state: 'launched'});
            }
        });
    });
}

用法:

var appID = 'lkbbjdgfngikaledbinmnhkappgpnklb';
launchApp(appID, function(state) {
    console.log(state);
});