我发现这只是因为我没有正确设置接收器的类别。
因为我把我所有的源代码放在一个库项目中,并引用它与每个单独的应用程序,我需要重命名清单中的3个不同的地方。
1)
<permission
android:name="digital.dispatch.mobilebooker.base.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
到
<permission
android:name="digital.dispatch.mobilebooker.(my app name).permission.C2D_MESSAGE"
android:protectionLevel="signature" />
2)
<uses-permission
android:name="digital.dispatch.mobilebooker.base.permission.C2D_MESSAGE" />
到
3)
<category android:name="digital.dispatch.mobilebooker.base" />
到
<category android:name="digital.dispatch.mobilebooker.(my app name)" />
为什么它在4.0 +设备工作的原因是因为我只是做了前两个,但不是3)。 由于4.0+设备不关心接收者的类别,因此它工作正常。 但是,当我在2.3.3设备上进行测试时,该类别实际上很重要,导致它没有收到任何响应。
希望这可以帮助其他任何遇到相同情况的人。
感谢您提交您自己的解决方案。我有同样的问题! – Tom
我的问题在范畴内。 – Yar