我有一個Chrome擴展程序和一個Chrome應用程序,它們可以通過消息傳遞相互溝通。我希望只有Chrome應用沒有運行時,我才需要執行某些操作。鑑於Chrome應用的ID,如果Chrome擴展正在運行,我該如何檢測?檢測是否有其他Chrome應用正在運行
我已經嘗試使用關閉和暫停鉻應用程序的生命週期事件來協助,但該路線似乎不可能由於各種原因。有沒有其他方法可以檢測?
我有一個Chrome擴展程序和一個Chrome應用程序,它們可以通過消息傳遞相互溝通。我希望只有Chrome應用沒有運行時,我才需要執行某些操作。鑑於Chrome應用的ID,如果Chrome擴展正在運行,我該如何檢測?檢測是否有其他Chrome應用正在運行
我已經嘗試使用關閉和暫停鉻應用程序的生命週期事件來協助,但該路線似乎不可能由於各種原因。有沒有其他方法可以檢測?
好了,你已經使用了消息,所以想必應用程序的活動頁面將喚醒回答如果你調用它,即使該應用程序無法啓動。
您將「running」定義爲打開窗口。從活動頁面,你可以check that:
chrome.runtime.onMessageExternal.addListener(function(message, sender, sendResponse) {
/* ... */
if (chrome.app.window.getAll().length) {
// Launched
} else {
// Not launched
}
});
好主意!謝謝! – Nullqwerty
喜歡的東西:
chrome.management.get(appId,function(theapp){
if(theapp.enabled){
// it is running
} else {
// it is not running
}
});
我的理解是,啓用和禁用對應於是否在chrome:// extensions頁面中爲應用程序選中了啓用的複選框,而不是它是否正在運行。這是不是真的? – Nullqwerty
[chrome.management(https://developer.chrome.com/extensions/management) –
https://developer.chrome.com/extensions/messaging#外部 –
爲應用程序定義「運行」。打開一個窗口? – Xan