android - GCM 推送通知未恢复

标签 android push-notification google-cloud-messaging android-notifications gcmlistenerservice

你可以在下面找到 list 文件,他们的 GCM 推送通知类配置有什么问题吗?

在安卓设备上根本没有收到通知,但苹果设备收到通知

 package="ac.iec"
<uses-permission android:name="android.permission.WAKE_LOCK"/>
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>

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

<uses-permission android:name="ac.iec.permission.C2D_MESSAGE"/>
    <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="ac.iec"/>
        </intent-filter>
    </receiver>
           <service
        android:name=".pushnotification.GCMIntentService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.android.c2dm.intent.RECEIVE"/>
        </intent-filter>
    </service>
    <service
        android:name=".pushnotification.MyInstanceIDListenerService"
        android:exported="false">
        <intent-filter>
            <action android:name="com.google.android.gms.iid.InstanceID"/>
        </intent-filter>
    </service>

最佳答案

你错过了一些像这样设置的用户权限reciver

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

此权限设置

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

此用户权限

<uses-permission android:name="your package.permission.C2D_MESSAGE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.VIBRATE" />

这段代码设置在application端。

 <!-- GCM Receiver -->
   <!-- this package name set your broadcast receiver class -->
    <receiver

        android:name="package name .GcmBroadcastReceiver"
        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="main package name" />
        </intent-filter>
    </receiver>

在您的 list 文件中尝试此代码。 谢谢。

关于android - GCM 推送通知未恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38422551/

相关文章:

php - 即使通过我的 PHP 脚本获得成功 1 后也无法在 android 中发送推送通知

push-notification - 无法注册推送通知(Xcode 7、iOS9)

ios - 接收有关添加的 Firebase 数据库子级的推送通知

android - Android 手机未收到 GCM psh 通知

android - android中的伪标签

android - listview android 在某些设备上滚动,而在其他设备上不滚动

android - 如何在启动 GCM 程序之前检查用户 google 帐户是否已添加到设备上?

android - 在 Android 上实现推送通知的简单方法

android - 如何从文件中检索指定的数据?

android - 从url下载图片并在android的LinearLayout背景中设置?