获取当前打开的应用程序的扩展

Extension getting current open apps

我想用我的扩展程序启动应用程序,但我需要检查它是否已经打开,所以我不会重新打开它或打开一个新的应用程序 window。

有什么办法可以做到吗?

谢谢。

如果 window 未找到应用,请使用 chrome.windows.getAll to list all windows of app type and 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);
});