Q:

Saber se Activity está aberta (BroadcastReceiver ou service)

Gostaria de implementar uma função que pudesse verificar se Activity está aberta, pois quando eu receber a notificação através do GCM (Google Cloud Messaging) se a activity tiver aberta vai apenas carregas as informações na mesma, se tiver fechada notificar o usuário e através dessa notificação ele abrir a Activity com as informações. Quero fazer isso dentro de um service, vlw!

A:

Você pode usar uma variável estática dentro da Activity, assim você pode defini-la explorando o ciclo de vida onStart() e onStop(). Veja:
class MinhaActivity extends Activity {
     static boolean active = false;

      @Override
      public void onStart() {
         super.onStart();
         active = true;
      } 

      @Override
      public void onStop() {
         super.onStop();
         active = false;
      }
}

Para acessar e verificar se a variável está ativa ou inativa, você pode fazer desta forma:
if(MinhaActivity.active){
    //esta ativa
} else {
    //não está ativa
}

