7

今日はgcmの使い方をテストしています。正常に動作しますが、二重の通知が届きます。

二重通知とは、通知が届いてから数分後に、最初の通知とまったく同じ内容の 2 番目の通知があることを意味します。

PHP(Google Cloud Messaging)でGCMを使用して通知をテストしています

どこが間違っているのかわかりません..エミュレーターと実際のデバイスを使用してテストしていますこれはlogcatデバッグです

02-27 16:05:36.192: V/GCMBroadcastReceiver(513): onReceive: com.google.android.c2dm.intent.RECEIVE
02-27 16:05:36.192: V/GCMBroadcastReceiver(513): GCM IntentService class: mypackage.GCMIntentService
02-27 16:05:36.201: V/GCMBaseIntentService(513): Acquiring wakelock
02-27 16:05:36.221: V/GCMBaseIntentService(513): Intent service name: GCMIntentService-DynamicSenderIds-2
02-27 16:05:36.312: V/GCMBaseIntentService(513): Releasing wakelock

.
.
.

02-27 16:11:14.282: V/GCMBroadcastReceiver(513): onReceive: com.google.android.c2dm.intent.RECEIVE
02-27 16:11:14.282: V/GCMBroadcastReceiver(513): GCM IntentService class: mypackage.GCMIntentService
02-27 16:11:14.291: V/GCMBaseIntentService(513): Acquiring wakelock
02-27 16:11:14.302: V/GCMBaseIntentService(513): Intent service name: GCMIntentService-DynamicSenderIds-3
02-27 16:11:14.402: V/GCMBaseIntentService(513): Releasing wakelock
4

1 に答える 1

1

BroadcastReceiver を登録するたびに起動するため、BroadcastReceiver を 1 回だけ登録することを確認します。たとえば、自分のメソッドに登録しても、自分のonResumeメソッドでActivity登録を解除しないと、問題が発生しますonPause

于 2013-03-05T20:17:45.743 に答える