Escucha de actividad - Google Cloud Messaging - BroadcastReceiver

He implementado GCM en mi aplicación de Android y está funcionando bien con la recepción de mensajes. El BroadcastReceiver se configura en el archivo de manifiesto de acuerdo con los ejemplos proporcionados por Google.

Mi pregunta es la siguiente: si el usuario tiene la aplicación abierta y quiero actualizar algunos resultados en esa vista, ¿cómo se puede hacer esto? Primero pensé en registrar esta actividad como oyente en lo que recibiera BroadCastReceiver. Sin embargo, esta debe ser una lista estática de escuchas, ya que se configurará una nueva instancia de BroadcastReceiver, pero tal vez esta no sea la forma de hacerlo.

Esto es lo que tengo actualmente

        public class GCMBroadcastReceiver extends WakefulBroadcastReceiver  {

            @Override
            public void onReceive(Context context, Intent intent) {
                ComponentName comp = new ComponentName(context.getPackageName(),
                        GCMIntentService.class.getName());
                startWakefulService(context, (intent.setComponent(comp)));
                setResultCode(Activity.RESULT_OK);
            }
        }


        public class GCMIntentService extends IntentService {
            public static final int NOTIFICATION_ID = 1;
            private NotificationManager mNotificationManager;
            NotificationCompat.Builder builder;

            public GCMIntentService() {
                super("GCMIntentService");
            }

            @Override
            protected void onHandleIntent(Intent intent) {
                Bundle extras = intent.getExtras();
                GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
                String messageType = gcm.getMessageType(intent);

                if (!extras.isEmpty()) {
                   if (GoogleCloudMessaging.
                            MESSAGE_TYPE_MESSAGE.equals(messageType)) {

                     /** How to check if the activity 
GameActivity is running, and hence send an 
update signal to it? If it's not running a 
notification should be created.
    **/
                   }
                }
                GCMBroadcastReceiver.completeWakefulIntent(intent);
            }
        }

Aquí está la parte importante para esto en el archivo de manifiesto:

       <receiver
            android:name="q.w.e.gcm.GCMBroadcastReceiver"
            android:permission="com.google.android.c2dm.permission.SEND" >
            <intent-filter>
                <action android:name="com.google.android.c2dm.intent.RECEIVE" />

                <category android:name="q.w" />
            </intent-filter>
        </receiver>

        <service android:name="q.w.e.gcm.GCMIntentService" />

¿Algún consejo?

¡Gracias!

Respuestas a la pregunta(1)

Su respuesta a la pregunta