レシーバーのカテゴリを正しく設定しなかったことが原因であることがわかりました。
すべてのソース コードをライブラリ プロジェクトに配置し、個々のアプリケーションでそれを参照していたため、マニフェスト内の 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 + デバイスで動作した理由は、最初の 2 つだけを実行し、3) を実行しなかったためです)。4.0以降のデバイスは受信者のカテゴリを気にしないので、うまくいきました。ただし、2.3.3 デバイスでテストしている場合、実際にはカテゴリが重要であり、応答を受信できません。
これが同じ状況に遭遇した他の人に役立つことを願っています.