0

因此,我一直在關注Google的教程,在Android模擬器上設置GCM演示應用程序(此處爲http://developer.android.com/guide/google/gcm/demo.html)。我得到了服務器端的工作 - 我有一個tomcat服務器,顯示「沒有設備註冊!」在GCM演示頁面上。我已經在帶有目標Google API的Android模擬器上安裝了客戶端應用程序(試圖讓GCM在針對4.1的應用程序中工作只是簡單地吐出「不幸的是,GCM Demo每次運行應用程序都停止運行) - 應用程序運行成功,但無法連接到服務器以註冊設備(全部嘗試5次)。我沒有編輯SERVER_URL,SENDER_ID和api.key到正確的值(我按照教程的每一步) - 我在這裏錯過了什麼?模擬器上的瀏覽器也顯示正常工作。試圖設置GCM演示應用程序 - 設備註冊不起作用

編輯:固定的URL演示 - NICKL

哪裏是你的Tomcat服務器的運行,以及什麼是SERVER_URL您在Android應用提供
+2

這些都是有效的答案,因此,如果沒有的他們幫助你必須給我們更多的信息。你在什麼網址看到「沒有設備註冊」?你可以從Android瀏覽器,在模擬器,在哪個網址訪問服務器?你從測試中看到的輸出是什麼?你究竟在哪裏更新了SERVER_URL和SENDER_ID以及它們的值是什麼?你提供的細節越少,我們必須在黑暗中刺中。請幫助我們來幫助你。 – 2012-08-22 16:46:09

回答

7

?我在嘗試演示時遇到了問題,因爲我的tomcat本地運行,但請記住,模擬器每個說明都有一個「虛擬路由器」,因此您無法通過Android應用程序使用http://localhost:8080來訪問您的tomcat服務器。你將不得不使用運行Tomcat服務器的機器的IP,所以它會像http://[tomcat-machine's ip]:8080/gcm-demo

2

這個問題可以來自很多來源,在我的這是因爲我使用了錯誤的服務器URL,你應該停止在http://yourserveraddress.com/gcm-demo的,而不是.../GCM-DEMO /家

SERVER_URL = "http://yourserveraddress.com/gcm-demo" 

另外,你檢查,你用來構建WAR文件中的API密鑰是Web服務器,而不是appsengine(有2時產生寄存器通過Google控制檯API)?

2

我有完全相同的問題。我意識到我在家裏的網絡上建立了這些文件,並試圖在我進入工作網絡時編譯這些文件。這改變了我的電腦的IP。在將CommonURItilities.java文件中的SERVER_URL更改爲新的IP後,我忘記重新編譯我的代碼。