Приемник широковещания для PACKAGE_ADDED не работает с Android 3.1 и выше - PullRequest
0 голосов
/ 15 декабря 2011

Я не могу запустить приемник Broadcast, который является частью STOPPED Application, Я зарегистрировался для события PACKAGE_ADDED в приемнике вещания, приложение работает должным образом до 3.0, но выше 3.1 Я сталкиваюсь с этой проблемой. Я использовал следующие строки, чтобы отправить намерение.

    Intent intent = new Intent(MY_INTENT_ACTION);
    intent.addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES);
    sendBroadcast(intent);

Пожалуйста, дайте мне знать, если мне нужно сделать что-то еще.


Добавление дополнительной информации:

Мое намерение - я хочу прослушать событие PACKAGE_ADDED Broadcast и выполнить некоторую обработку в моем OnReceive. Пожалуйста, дайте мне знать, есть ли возможность прослушать это событие без запуска приложения. Пример кода для достижения этой цели был бы полезен. Спасибо

1 Ответ

5 голосов
/ 15 декабря 2011

Документы для PACKAGE_ADDED состояние:

Это защищенное намерение, которое может быть отправлено только системой.

Вы не можете изменить его или попытаться добавить к нему флаги. Из примечаний к выпуску для 3.1 :

Обратите внимание, что система добавляет FLAG_EXCLUDE_STOPPED_PACKAGES ко всем вещательным намерениям.

и из документов для FLAG_EXCLUDE_STOPPED_PACKAGES

Если установлено, это намерение не будет соответствовать ни одному из компонентов в пакетах, которые в данный момент остановлены. Если это не установлено, то поведение по умолчанию заключается в том, чтобы включать такие приложения в результат.

Все это означает, что ваше приложение не будет работать так же, как раньше. Вы должны убедиться, что ваше приложение запущено, чтобы получить PACKAGE_ADDED.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...