2013-07-12 68 views
0

onReceive我想通過gcm發送通知給我的android設備。註冊成功,我的服務器上保存了註冊ID。當我發送測試通知並保留手機進行調試時,onReceive方法在演示應用程序中觸發,這意味着通知已到達。但是,意圖也有捆綁 - 錯誤:SERVICE_NOT_AVAILABLE,message_type = send_error,google.message_id = 1發送錯誤在Android GCM

任何人都可以告訴我什麼可能是這裏的問題?

感謝,

尼廷

編輯:事實證明,有一個與它在我的辦公室阻塞端口的防火牆問題。在家工作很好。謝謝!

回答

1

要知道您的設備已註冊,我建議您可能在onRegistered函數中檢查它。同樣,我認爲在您的設備上接收消息時,您需要覆蓋使用onMessage()函數,該函數延伸GCMBaseIntentService。例如:

protected void onMessage(Context context, Intent message) { 
    Log.d("GCMIntentService","Received push message"); 
    Bundle extras=message.getExtras(); 
    for (String key : extras.keySet()) { 
     Log.d("GCMIntentService", "Received key: " +key +" and value as: "+extras.getString(key)); 
} 

希望這會有所幫助。

+0

我需要添加,作爲我的android清單文件中的接收器? – user2544363

+0

您需要在清單中提及您希望設置服務的接收器,該服務會對收到的廣播做出反應。 –

+0

你正在關注哪個教程?閱讀官方文檔,並嘗試這個問題的基本實施; http://stackoverflow.com/questions/11438464/android-gcm-basic-implementation –