2016-06-15 101 views
0

我有一個Chrome擴展程序和一個Chrome應用程序,它們可以通過消息傳遞相互溝通。我希望只有Chrome應用沒有運行時,我才需要執行某些操作。鑑於Chrome應用的ID,如果Chrome擴展正在運行,我該如何檢測?檢測是否有其他Chrome應用正在運行

我已經嘗試使用關閉和暫停鉻應用程序的生命週期事件來協助,但該路線似乎不可能由於各種原因。有沒有其他方法可以檢測?

+0

[chrome.management(https://developer.chrome.com/extensions/management) –

+1

https://developer.chrome.com/extensions/messaging#外部 –

+0

爲應用程序定義「運行」。打開一個窗口? – Xan

回答

0

好了,你已經使用了消息,所以想必應用程序的活動頁面將喚醒回答如果你調用它,即使該應用程序無法啓動。

您將「running」定義爲打開窗口。從活動頁面,你可以check that

chrome.runtime.onMessageExternal.addListener(function(message, sender, sendResponse) { 
    /* ... */ 
    if (chrome.app.window.getAll().length) { 
     // Launched 
    } else { 
     // Not launched 
    } 
}); 
+0

好主意!謝謝! – Nullqwerty

-1

喜歡的東西:

chrome.management.get(appId,function(theapp){ 
    if(theapp.enabled){ 
     // it is running 
    } else { 
     // it is not running 
    } 
}); 
+2

我的理解是,啓用和禁用對應於是否在chrome:// extensions頁面中爲應用程序選中了啓用的複選框,而不是它是否正在運行。這是不是真的? – Nullqwerty

相關問題