GcmBroadcastReceiver未在Android 4.0.3上触发

Rom*_*rin 4 notifications android push-notification google-cloud-messaging

我在我的应用程序中实现了GCM,遵循这个官方教程.但我在Android 4.0.3下的用户报告我通知无效.我发现onReceive从我GcmBroadcastReceiver extends BroadcastReceiver没被解雇.这是我的清单.

    <!-- GCM -->
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    <uses-permission android:name="android.permission.VIBRATE" />

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

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

    <application
        ... >

        <!-- GCM -->
        <receiver
            android:name="com.myapp.GcmBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />

                <category android:name="com.myapp" />
            </intent-filter>
        </receiver>
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Era*_*ran 5

您的应用程序的主程序包名称是com.nyapp.gcm还是com.myapp?

在清单的权限部分中,您使用com.myapp.gcm,而在接收者的intent过滤器类别中使用com.myapp.

在这两个地方你应该使用相同的包,这是你的应用程序的主要包.