我正在使用Google Cloud Messaging(GCM)推送通知。我可以在this tutorial之后设置服务器和客户端。连接到在本地服务器上运行的GCM服务器
服务器在Google API(API级别17)上的Apache Tomcat6.0(localhost)和Android仿真器上运行。我有一个发件人ID和API密钥。从模拟器运行时,我会收到成功的设备连接消息。之后很快,从服务器发送消息显示以下错误。
com.google.android.gcm.server.InvalidRequestException: HTTP Status Code: 401()
com.google.android.gcm.server.Sender.sendNoRetry(Sender.java:211)
com.google.android.gcm.server.Sender.send(Sender.java:125)
com.google.android.gcm.demo.server.SendAllMessagesServlet.doPost(SendAllMessagesServlet.java:83)
javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
从其他帖子中,我了解错误的API密钥是罪魁祸首。但在我的情况下,我确信我正在使用API控制台中正确的一个。
顺便说一下,当我运行模拟器时,我看到一条消息'将regId发送到服务器'。什么是注册ID?它与发件人ID不一样;看起来像一个编码的。
任何突破?
编辑
问题终于解决了! Ant没有正确构建WAR文件。所以API密钥很难得到更新。发现错误是一场噩梦。感谢所有的投入!
仿真程序无法正常工作。请尝试与设备 – 2013-03-01 12:26:14
对设备API级别进行任何限制..? – Renjith 2013-03-01 12:30:51
以上工作2.2 – 2013-03-01 12:31:59