2012-09-21 47 views
2

我嘗試在我的項目中實現GCM,並且遇到onMessage函數的問題。根據例子,我寫道:Android GCM onMessage

@Override 
protected void onMessage(Context arg0, Intent arg1) { 
// TODO Auto-generated method stub 
Log.d("GCM", "RECIEVED A MESSAGE: " + arg1.getStringExtra("message")); 
// other part of the code goes here... 
} 

那麼,我得到這個getStringExtra錯誤 - 它似乎這個意圖不包含它。我確實收到onMessage事件。嘗試獲取實際消息時,我只會遇到錯誤。 我的服務器接收:

{"multicast_id":7888157947681629492,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1348246306435688%196553bef9fd7ecd"}]} 

回答

7

GCM約定是:您提供的值作爲「data.foo」將作爲一個額外稱爲「foo」的意圖提供。您是否將「data.message」放入服務器上的POST數據塊中?

2

如果您收到TNE廣播的onMessage() 檢查您的服務器端代碼,你是不是你的分配消息發送到服務器這個「消息」變量。

2

請試試這個。

String message = intent.getExtras()。getString(「message」)。toString();