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

Extension getting current open apps

本文关键字:应用程序 获取 扩展      更新时间:2023-09-26

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

有我能做的吗?

谢谢。

使用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);
});