android – 无法解析目标意图服务,传递消息时出错:ServiceIntent未找到

前端之家收集整理的这篇文章主要介绍了android – 无法解析目标意图服务,传递消息时出错:ServiceIntent未找到前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试着让gcm工作.

当我们的服务器发送推送通知时,我的应用程序的日志中有两个错误

E/GcmReceiver(8049): Failed to resolve target intent service,skipping
classname enforcement E/GcmReceiver(8049): Error while delivering the
message: ServiceIntent not found.

在我的应用程序的文件夹中,我收到了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令牌提供和上传到我们的服务器是罚款.我也有推“事件”,但不知何故,我得到了上面的这2个错误,没有消息.

我将我的项目编号从google api控制台添加到strings.xml为“google_app_id”

API密钥应该是正确的,因为我得到推送事件,但不知何故不提供消息.

我的毕业生的应用程序级依赖有:

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

我的毕业生的项目级依赖有:

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

那么怎么了?请帮助我,如果可以的话.

解决方法

你应该在你的清单中有这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"/>

猜你在找的Android相关文章