Как заставить приложение получать трансляцию, когда другие приложения установлены или удалены

Я хочу сделать приложение, которое может получать трансляцию, когда другие приложения на устройстве установлены или удалены.

мой код

в выражении:

       

в AppListener:

 import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.util.Log; public class AppListener extends BroadcastReceiver { @Override public void onReceive(Context context, Intent arg1) { // TODO Auto-generated method stub Log.v(TAG, "there is a broadcast"); } } 

но я не могу получать трансляцию. Я думаю, эта проблема связана с разрешениями приложений, любой идеей?

Спасибо за помощь.

В вашем манифесте:

        

Добавьте строку до тега-фильтра-фильтра

  

Итак, ваш манифест должен выглядеть так:

         

Я не уверен в намерении PACKAGE_REMOVED, если он действительно доступен.

Вы должны удалить android.intent.action.PACKAGE_INSTALL, поскольку он устарел и больше не рекомендуется, потому что он предназначен только для системы. Все остальное идеально, и я бы рекомендовал вместо 100 поставить 999, в документации не указывается максимальное или минимальное количество, чтобы увеличить число, более высокий приоритет будет иметь ваш приемник для этого намерения. Извините за переводчика. Я говорю и пишу по-испански. Информация

       

Отличные ответы, осталось только одно небольшое:

В каждом обновлении приложения сначала вызывается ACTION_PACKAGE_REMOVED, а затем ACTION_PACKAGE_ADDED – если вы хотите игнорировать эти события, просто добавьте его на свой onReceive ():

 if(!(intent.getExtras() != null && intent.getExtras().containsKey(Intent.EXTRA_REPLACING) && intent.getExtras().getBoolean(Intent.EXTRA_REPLACING, false))) { //DO YOUR THING } 

Это из документов:

EXTRA_REPLACING Добавлен в уровень API 3 String EXTRA_REPLACING Используется в качестве логического дополнительного поля в ACTION_PACKAGE_REMOVED, чтобы указать, что это замена пакета, поэтому сразу же после трансляции будет добавлена ​​широковещательная передача для другой версии того же пакета. Постоянное значение: “android.intent.extra.REPLACING”

  • Разрешения IIS_IUSRS и IUSR в IIS8
  • Список разрешений Android для обычных разрешений и опасных разрешений в API 23?
  • проблема с правами на запись файла в папку «Program Files»
  • Разрешение перегрузки C ++
  • Ошибка MySQL 1449: пользователь, указанный как определитель, не существует
  • Разрешение отклонено (отсутствует разрешение INTERNET?): Но предоставляется разрешение
  • Разрешения на доступ к файлам IIS AppPoolIdentity и файловой системы
  • Обзор разрешений IIS7 - ApplicationPoolIdentity
  • npm ошибки установки с ошибкой: ENOENT, chmod
  • Разрешение отказа: для этого требуется андроид.permission.INTERACT_ACROSS_USERS_FULL
  • Множественные разрешения для Android 6.0
  • Давайте будем гением компьютера.