我正在研究GCM。我跟着这个blog。仿真器(Google API 4.3)上的一切正常。但是在真实设备(ver4.03)中测试app时,应用程序没有获得任何推送消息。设备已成功注册,我将registration_id更新到我的第三方服务器。在服务器中,它得到了GCM的成功响应。我在模拟器和设备中使用了不同的谷歌帐户(我认为这不是这个问题的原因)。
任何帮助将不胜感激
答案 0 :(得分:2)
在我的GCM实施中深入研究后,我找到了问题的原因。我忘了在许可中添加我的包名。
<permission android:name="com.myapp.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.myapp.permission.C2D_MESSAGE" />
而不是上面的代码我将uses-permission设置为
<permission android:name="com.myapp.permission.C2D_MESSAGE"
android:protectionLevel="signature" />
<uses-permission android:name="com.google.android.gcm.demo.app.permission.C2D_MESSAGE" />
它在Device中工作正常。但是现在,我想知道这个应用程序在模拟器中是如何工作的?