5

В моем манифесте у меня есть:Как я могу отключить мое приложение?

"app": 
{ 
    "background": 
    { 
     "scripts": 
     [ 
      "main.js" 
     ], 
     "persistent": true 
    } 
} 

, но он по-прежнему показывает Inspect views: _generated_background_page.html (Inactive) и когда я смотрю на консоли, это является неактивным.

И у меня также есть setInterval, работающий каждые 10 секунд. Тем не менее, он по-прежнему неактивен!

Что мне нужно сделать, чтобы он не включался?

Дополнительная информация:

Я добавил сигнал тревоги, который стреляет каждую минуту, и это появляется разбудить мое приложение вверх. (Необходимо сделать больше тестирования). Но это означает, что вы должны ждать минуту после запуска Chrome перед запуском приложения.

+0

Приложения не могут иметь постоянные фоновые страницы, поэтому это вообще невозможно. Почему вы хотите, чтобы приложение оставалось активным? –

+0

Это помощник для других приложений и отслеживает материал и уведомляет их об этом. Таким образом, другие приложения могут использовать функциональность без необходимости включать ее сами. Они просто слушают внешнее сообщение. Но если он ложится спать, он не может делать «push» уведомления. –

+0

Вы имеете в виду, что он слушает chrome.runtime.onMessageExternal (или onConnectExternal)? Когда появится сообщение, страница события будет запущена, если она еще не активна. –

ответ

-3

Запустите свой код, когда ему нужно запустить, вам не нужна постоянная постоянная страница фона. Например. используйте chrome.runtime.onInstalled, chrome.runtime.onStartup, chrome.app.runtime.onRestarted и т. д., чтобы вызвать код на этих событиях. Alarms API, чтобы разбудить время от времени, Push Messaging, чтобы разбудить ваш разорвать или запустить окно, если есть интерфейс, с которым должен взаимодействовать пользователь.

Приложение может быть перезапущено в любое время - поэтому всегда сохраняйте свое состояние.

+0

Три прослушивателя событий, которые вы указали, не запускаются при перезапуске Chrome (после полного завершения работы). Поэтому мое приложение остается неактивным. Мне нужно **, чтобы он всегда работал, когда Chrome работает. И push-обмен сообщениями не будет работать. Это внутреннее размещенное приложение компании и состояние документов: «Сервер Push Messaging отвечает кодом состояния HTTP 500 (внутренняя ошибка сервера), если приложение, которое вызывает API pushMessaging, не найдено в Интернет-магазин Chrome.«' –

+3

Я извиняюсь, если это звучит жестко, но ваш комментарий «вам не нужна постоянная постоянная страница, чтобы сделать это», это очень презумптивный и бесполезный. Вы не знаете, какие требования к моему приложению (хотя, d читать мои комментарии выше, вы бы) .Я действительно нуждаюсь в том, чтобы он работал постоянно в фоновом режиме. –

+0

Работает для меня. Возьмите образец окна-состояния из https://github.com/GoogleChrome/chrome-app-samples/ tree/master/window-state и в background.js duplicate onLaunched to chrome.runtime.onStartup.addListener (NOT chrome.app.runtime). Выход из хрома, перезапуск, появляется окно (я тестировал на linux). Не работайте для вас, напишите ошибку: crbug.com/new –

3

Один из подходов заключается в том, чтобы ваш веб-сервис принимал вспомогательное приложение и уведомлял другие приложения по мере необходимости. Это кажется самым «хромовым» способом (что бы это ни значило). Но это будет связано с приложением на одном компьютере сообщений приложения на другом компьютере, что кажется сложным, в лучшем случае.

Вы также можете попробовать "permissions": ["background"] (reference).

Похоже, что расширениям разрешены постоянные фоновые страницы, а приложения - нет. Вы можете изменить свое вспомогательное приложение в вспомогательное расширение, которое отправляет сообщения другим приложениям.

Смежные вопросы