Android のプッシュ通知を実装しています。私のクライアントは、アプリが通常の GCM サービスに加えてアーバン エアシップをサポートすることを望んでいます。ここで私は問題を抱えています。
GCM を有効にするために、Google の gcm.jar を使用し、他のすべてのセットアップを完了し、サーバーから問題なくプッシュ通知を送信できることを確認しました。これは AndroidManifest の一部です。
<receiver android:name="com.google.android.gcm.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="my.package.name"/>
</intent-filter>
</receiver>
<service android:name="my.package.name.GCMIntentService" />
そして、Urban Airship を実装するために、urbanairship-lib-3.1.0.jar を使用し、すべてのセットアップを完了しました。正常に動作します。
<receiver android:name="com.urbanairship.CoreReceiver" />
<receiver android:name="com.urbanairship.push.GCMPushReceiver" android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="my.package.name"/>
</intent-filter>
</receiver>
問題: Urban Airship からプッシュを送信すると、アプリに 2 つの通知が届きます。
それが発生した場合、コードを記述して不要なアラート ウィンドウを 1 つ抑制することができますが、上部の通知バーにあるアラート ウィンドウを削除する方法がわかりません。
これが同じアプリで GCM とアーバン エアシップの両方を使用する正しい方法かどうかはわかりません。誰かがそれを成功させたことがありますか、または他のアイデアはありますか? おそらく、インテントフィルターで何かできるでしょうか?