我已经在我的应用程序中实现了 GCM,遵循此 official tutorial .
但是我在 Android 4.0.3 下的用户报告我的通知不起作用。我发现 GcmBroadcastReceiver extends BroadcastReceiver
中的 onReceive
没有被触发。
这是我的 list 。
<!-- 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>
我做错了什么?
最佳答案
你的应用的主包名是com.nyapp.gcm还是com.myapp?
在 list 的许可部分,您使用 com.myapp.gcm,而在接收器的 Intent 过滤器类别中,您使用 com.myapp。
在这两个地方你应该使用同一个包,这是你应用的主包。
关于android - GcmBroadcastReceiver 未在 Android 4.0.3 上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17824058/