2013-05-04 57 views
0

我使用GCM從我的服務器獲取事件,這工作得很好,但我想用我的類GCMIntentService與人的活動溝通GCM與他人溝通activites

我有我的方法receve消息

@Override 
protected void onMessage(Context context, Intent intent) { 

    Log.d("GCM", "RECIEVED A MESSAGE"); 
// Get the data from intent and send to notificaion bar 
generateNotification(context, intent); 
} 

我想對於爲例發送DATAS我的MainActivity,但我找不到怎麼做 我只是覺得:

Intent intent = new Intent(getBaseContext(), SignoutActivity.class); 
intent.putExtra("EXTRA_SESSION_ID", sessionId); 
startActivity(intent); 

但在我的情況下,我做不想開始新的活動,我只想將數據發送到正在運行的活動。

感謝您的幫助

+1

我想這個答案是你在找什麼: http://stackoverflow.com/a/10143395/481528 你也可以在這裏閱讀: http://developer.android.com/參考/機器人/應用/ Activity.html#onNewIntent%28android.content.Intent%29 – selalerer 2013-05-04 08:55:36

回答

1

我找到解決辦法,@selalerer感謝您的幫助

在第一次初始化接收器:

//receive events 
private class Receiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     System.out.println("receive"); 
    } 
} 

在OnCreate添加

IntentFilter filter = new IntentFilter("local"); 
this.registerReceiver(new Receiver(), filter); 

完成發送消息

Intent i=new Intent(); 
i.setAction("local"); 
i.putExtra("test","test"); 
sendBroadcast(i);