アプリに 2 つの GCM レシーバーがあります。それらの 1 つは UrbanAirship によって使用され、もう 1 つは別のサービスのアプリケーションによって使用されます。私は今、奇妙な問題に直面しています。インストール時にプッシュ通知が機能する場合があり、アンインストールして再度インストールしようとしても、何も受信しません。GCM 登録トークンに関係していると思いますが、ログにそのエラーは表示されません。マニフェスト ファイル内の GCM のレシーバーは次のとおりです。
<!-- GMS native receiver -->
<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="my_package_name" />
</intent-filter>
</receiver>
<service
android:name=".services.MyGcmListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
</intent-filter>
</service>
<service
android:name=".services.MyInstanceIdListenerService"
android:exported="false" >
<intent-filter>
<action android:name="com.google.android.gms.iid.InstanceID" />
</intent-filter>
</service>
<service
android:name=".services.RegistrationIntentService"
android:exported="false" >
</service>
これはライブラリの受信機です
receiver android:name=".ninja.push.IntentReceiver"
android:exported="false">
<intent-filter>
<action android:name="com.urbanairship.push.CHANNEL_UPDATED" />
<action android:name="com.urbanairship.push.OPENED" />
<action android:name="com.urbanairship.push.RECEIVED" />
<action android:name="com.urbanairship.push.DISMISSED" />
<category android:name="${applicationId}" />
</intent-filter>
</receiver>