在與GCM集成的小項目上工作時,我遇到了一些奇怪的問題。Google Cloud Messaging - 在網絡狀態發生變化時有時收不到消息
有些時候,當我開始觀看日誌以查看是否收到消息時,直到我改變了網絡狀態(IE本來在WiFi上,如果我關閉WiFi並移動到移動數據,消息到達正常)。在我改變了網絡狀態之後,消息開始得到完全正常,並且一旦我將網絡狀態改回到之前的狀態(在這種情況下,WiFi),這些消息繼續被接收。
該項目本身包括啓動時啓動的能力(啓動時啓動GCMBaseIntentService),這再次正常工作,我敢肯定應用程序/服務正在運行,因爲我手動啓動應用程序時問題發生(它也會檢查服務是否正在運行,如果沒有運行它並檢查它是否已註冊)。
有其他人遇到這個問題,或者有任何指針,我怎麼能解決這個問題?在沒有收到消息的時間和消息之間的日誌之間(改變網絡狀態之後),我沒有看到任何幫助。我瀏覽過GCM文檔,看不到由於超時(在設備本身上)而未收到消息的任何提示,或任何可能影響此設置的配置選項。
欣賞任何幫助 - 我可以提供源如果需要的話,雖然它很難從Android的SDK提供的演示程序偏離。
在GCMIntentSevice類
是的,我看到和其他人一樣。無線上網時收到即時消息,通過3g可變延遲。打開飛行模式,然後關閉會顯示消息。我在Google開發人員小組中添加了一條評論(目前我無法找到!)。我的設備是一個三星Galaxy S2 – NickT
謝謝 - 我明白,與WiFi相比,3G會稍微延遲,但我的觀點是,有時消息並沒有達到。但是,當我切換網絡(即從WiFi到3G或反之亦然)消息開始再次出現。我會很感激鏈接到您發佈的評論/主題以供參考:)感謝p.s.我也在Galaxy S2上。 – Seidr
嗨鏈接是https://groups.google.com/forum/?fromgroups=#!topic/android-gcm/bsYumo68fsc。我的手機是O2。我總是最終收到郵件,但最多可能需要30分鐘。我在倫敦有一個很強的(通常是H +)信號。 – NickT