其他分享
首页 > 其他分享> > 没有收到来自GCM的推送通知(Android)

没有收到来自GCM的推送通知(Android)

作者:互联网

我正在使用此link测试我的推送通知.昨晚工作正常,今天早上醒来了,我不再收到推送通知.在编写任何新代码之前,我已经对其进行了测试.用于测试的设备是Samsung Galaxy S5,操作系统是Lollipop.

这是我的清单,如果您需要查看我的任何服务,请告诉我.

<permission
        android:name=".permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

    <uses-permission android:name=".permission.C2D_MESSAGE" />

    <application
        ....
        ....

        <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.fullpackage.name.gcm" />
            </intent-filter>
        </receiver>

        <service
            android:name=".services.MyGcmListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />
            </intent-filter>
        </service>
        <service
            android:name=".services.MyInstanceIDListenerService"
            android:exported="false">
            <intent-filter>
                <action android:name="com.google.android.gms.iid.InstanceID" />
            </intent-filter>
        </service>

我没有收到任何错误,它说邮件是从我的服务器和上面的测试链接成功发送的.我尝试卸载该应用程序并生成一个新令牌,但仍无法正常工作.每次加载应用程序时,我也能够成功检索我的令牌.

解决方法:

查看此official tutorial.似乎您错过了将包名称添加到权限的操作.

<permission
    android:name="your.package.name.permission.C2D_MESSAGE"
    android:protectionLevel="signature" />

<uses-permission android:name="your.package.name.permission.C2D_MESSAGE" />

此外,您的MyGcmListenerService和MyInstanceIDListenerService的来源也将对帮助(您如何获取和处理令牌等)有用.

或者,如果您说它昨天运行良好,请尝试启用然后禁用飞行模式,或重新启动手机.

标签:push-notification,google-cloud-messaging,android
来源: https://codeday.me/bug/20191119/2037298.html