Это помогло мне

егистрировал следующиеreceiver который не вызывается в Android Oreo, но работает на устройствах с более низкой версией.

<receiver
     android:name=".common.receiver.ConsultReceiver"
     android:exported="false">
       <intent-filter>
            <action android:name="APP_STARTED" />
            <action android:name="APP_STARTED_FROM_ORGANIC" />
       </intent-filter>
</receiver>  

Любая помощь будет оценена?

Ответы на вопрос(4)

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

 Ragini01 дек. 2017 г., 13:29
Но это не скрытый приемник вещания

Intent в ваш пакет сsetPackage.

 TROD21 янв. 2019 г., 10:36
Это помогло мне
 virsir30 нояб. 2018 г., 06:41
этого достаточно?

чтобы проверить, установлено ли какое-либо приложение или удалено из него.

class MainActivity : AppCompatActivity() {

    private val receiver = YourBroadcastReceiverClass()

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        val filter = IntentFilter();
        filter.addAction(Intent.ACTION_PACKAGE_ADDED)
        filter.addAction(Intent.ACTION_PACKAGE_REMOVED)
        filter.addDataScheme("package")

        registerReceiver(receiver, filter)
    }

    override fun onDestory() {
        unregisterReceiver(receiver)
        super.onDestroy()
    }
}

вы не можете использовать неявноеIntent (например, один с только строкой действия) для трансляции на Android 8.0+.

Твой<receiver> не экспортируется. Это предполагает одну из трех вещей:

Вы используете это сPendingIntent, например, дляNotification, Если так, избавьтесь от<intent-filter> и использовать явныйIntent (new Intent(this, ConsultReceiver.class)) как часть создания вашегоPendingIntent это указывает на этот приемник.

Вы используете это как часть некоторого IPC между несколькими процессами приложения в вашем приложении. В этом случае также используйте явныйIntent.

Вы используете этот приемник исключительно в рамках одного процесса в вашем приложении. В этом случае избавьтесь от<receiver> и использовать что-то еще (LocalBroadcastManager, событийный автобус, RxJava,LiveData, и т.д.).

 CommonsWare08 июн. 2018 г., 12:55
@Jenix: "Что касается неявных намерений, то же самое верно и для чего-то вроде Intent.ACTION_CALL?" - это не используется для трансляций. "Будет ли сохранена статическая регистрация в AndroidManifest.xml, например, <action android: name =" android.intent.action.BOOT_COMPLETED "/>?" - только если действие включенобелый список. android.intent.action.BOOT_COMPLETED бывает в белом списке, но большинство действий нет.
 Ragini01 дек. 2017 г., 13:28
Но это не скрытый приемник вещания
 CommonsWare10 мар. 2018 г., 02:41
@SantanuSur: правильно. Обратите внимание, что запуск действия из push-сообщения может не радовать пользователя, если это прерывает его действия. Попробуйте поднять уведомление вместо этого.
 CommonsWare01 дек. 2017 г., 13:33
@Ragini: Aприемник не является ни явным, ни явным.Intent неявный или явный. ЯвныйIntent идентифицирует класс Java компонента; неявныйIntent не.
 CommonsWare10 мар. 2018 г., 01:54
@SantanuSur: я не знаю, что FCM меняет что-либо относительно того, насколько явноIntents работать, если это то, что вы просите. Ничего не изменилось в отношении начальных действий в Android 8.x.

Ваш ответ на вопрос