Проверить, зарегистрирован ли BroadCastReceiver со строкой действия

Итак, мне нужен способ узнать, зарегистрирован ли BroadCastReceiver для конкретной строки действия.

Таким образом, чтобы проверить наличие намерения, у нас есть метод (изhttp://www.vogella.com/articles/AndroidIntent/article.html)

public boolean isIntentAvailable(Context context, String action) {
    final PackageManager packageManager = context.getPackageManager();
    final Intent intent = new Intent(action);
    List resolveInfo =
            packageManager.queryIntentActivities(intent,
                    PackageManager.MATCH_DEFAULT_ONLY);
   if (resolveInfo.size() > 0) {
        return true;
    }
   return false;
}

Что работает, но в моих тестах ищет только намерения, на которые зарегистрированы действия. У меня есть BroadCastReceiver, зарегистрированный для определенной строки действия. и он никогда не видит его зарегистрированным. Но если я стреляю в эфир. трансляция реагирует. Таким образом, метод не работает в этом случае.

Идеи?

5
задан Masoud Mokhtari 26 February 2018 в 09:35
поделиться