GCMBroadcastReceiver не регистрируется с использованием манифеста или динамически
<receiver
android:name = "com.ee.nowmedia.core.pushnotification.PushBroadcastReceiver"
android:permission = "com.google.android.c2dm.permission.SEND">
<intent-filter><!-- Receives the actual messages. -->
<action android:name = "com.google.android.c2dm.intent.RECEIVE" /><!-- Receives the registration id. -->
<action android:name = "com.google.android.c2dm.intent.REGISTRATION" />
<category android:name = "com.ee.nowmedia.core.pushnotification" />
</intent-filter>
</receiver>
С 10 апреля 2018 г. Google не поддерживает GCM. Серверные и клиентские API GCM устарели и будут удалены 11 апреля 2019 г. Перенесите приложения GCM в Firebase Cloud Messaging (FCM), который наследует надежную и масштабируемую инфраструктуру GCM, а также множество новых функций. См. руководство по миграции, чтобы узнать больше. Подробнее читайте в документации Google Cloud Messaging - УСТАРЕЛО 10.04.2018 .
Итак, код
<receiver
android:name = "com.google.android.gms.gcm.GcmReceiver"
android:exported = "true"
android:permission = "com.google.android.c2dm.permission.SEND" >
<intent-filter>
......
</intent-filter>
</receiver>
бесполезен с 8.0, а также после 11Apr2019 для каждого API.
Как уже упоминалось в ответе выше, GCM устарел. Переходите с GCM на FCM, и это довольно просто. Вам просто нужно создать класс, расширяющий класс FirebaseMessagingService.
Зарегистрируйте класс обслуживания в Manifest.
<service
android:name = ".fcm.MyFirebaseMessagingService"
tools:ignore = "ExportedService">
<intent-filter>
<action android:name = "com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
и так выглядит ваш класс MyFirebaseMessagingService.
public class MyFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String s) {
super.onNewToken(s);
//Here you will get your FCM ID/Token
Log.d(TAG, "onNewToken: " + s);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
//This method is used for handling incoming notifications
}}
Вот и все. FCM Готово