Не удалось разрешить службу целевого намерения, Ошибка при доставке сообщения: ServiceIntent не найден

Я пытаюсь сделать gcm работу.

Когда наш сервер отправляет push-уведомление, я получил эти две ошибки в журнале моего приложения:

E / GcmReceiver (8049): Не удалось разрешить целевую службу назначения, пропустив выполнение имени класса E / GcmReceiver (8049): Ошибка при доставке сообщения: ServiceIntent не найден.

В папке моего приложения я получил файл google-services.json .

Я добавил 2 необходимых сервиса и получателя в свой манифест:

  <receiver android:name="com.google.android.gms.gcm.GcmReceiver" android:exported="true" android:permission="com.google.android.c2dm.permission.SEND" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> <category android:name="com.myapppackage.application" /> </intent-filter> </receiver> <service android:name="com.myapppackage.application.gcm.newgcm.RegisterGCMTokenService" android:exported="false"> </service> <service android:name="com.myapppackage.application.gcm.newgcm.MyInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID"/> </intent-filter> </service> 

Я также добавил эти два в качестве классов java. Значок gcm, предоставляющий и загружающий на наш сервер, в порядке. Я также получил push-событие, но почему-то я получил эти 2 ошибки выше и никаких сообщений.

Я добавил свой номер проекта из консоли google api в strings.xml как 'google_app_id'

Ключи API должны быть в порядке, потому что я получаю событие push, но так или иначе сообщение не предоставляется.

Мои зависимости уровня приложения gradle :

 compile 'com.google.android.gms:play-services:8.+' 

Мои зависимости уровня проекта gradle :

 classpath 'com.google.gms:google-services:1.3.1' 

Так что, черт возьми ?! Пожалуйста, помогите мне, если сможете.

Solutions Collecting From Web of "Не удалось разрешить службу целевого намерения, Ошибка при доставке сообщения: ServiceIntent не найден"

Вы должны иметь эти 3 службы в своем манифесте. Вам не хватает одного с действием com.google.android.c2dm.intent.RECEIVE

  <service android:name="com.myapppackage.application.gcm.GcmIntentService" android:exported="false"> <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service> <service android:name="com.myapppackage.application.gcm.GcmIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.android.gms.iid.InstanceID" /> </intent-filter> </service> <service android:name="com.myapppackage.application.gcm.RegistrationIntentService" android:exported="false"/> 

Привет, вам нужно добавить класс MyGcmListenerService для получения уведомления:

 public class MyGcmListenerService extends GcmListenerService { @Override public void onMessageReceived(String from, Bundle data) { String message = data.getString("message"); } 

Вам нужно добавить этот класс в качестве службы в AndroidMaifest.xml

  <service android:name="com.mypackage.application.services.MyGcmListenerService" android:exported="false" > <intent-filter> <action android:name="com.google.android.c2dm.intent.RECEIVE" /> </intent-filter> </service>