我的应用程序GCM(使用google play服务)注册在运行Android4的真实设备三星上运行良好,但在运行Android2.3的Galaxy GT-5360上不起作用。6.
关于如何使GCM注册在真实设备上工作,我搜索了半天之后,没有得到任何有用的结果。
但我的搜索并没有白费,我找到的这些解决方案并没有解决我的问题。
1.第一种解决办法:
链接:Android 2.2上不提供GCM服务
我也经历了同样的问题。GCM在运行Android4.04的平板电脑上运行良好,但在运行Android2.3的智能手机上总是收到SERVICE_NOT_AVAILABLE。
我发现下面的工作区没有使用(据我所知)任何弃用的类。将操作"com.google.android.c2dm.intent.注册"添加到清单中的GCMBroadcastRecector。这将使您能够在GCMBroadcastRecector上接收registration_id。
<receiver
android:name="YOUR_PACKAGE_NAME.GCMBroadcastReceiver"
android:permission="com.google.android.c2dm.permission.SEND" >
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="YOUR_PACKAGE_NAME" />
</intent-filter>
</receiver>
之后,您的GCMBroadcastRecector能够接收registration_id:
public void onReceive(Context context, Intent intent) {
Log.e("GCMTEST", "onReceive method invoked ??????");
String regId = intent.getExtras().getString("registration_id");
if(regId != null && !regId.equals("")) {
/* Do what ever you want with the regId eg. send it to your server */
}
}
虽然我仍然得到一个SERVICE_NOT_AVAILABLE错误,我可以处理registration_id在我的GCMBroadcastRecector,我能够发送消息到我的智能手机。很奇怪,但对我有用。
我尝试了这个解决方案,我在接收器中添加了注册操作,并在GCMBroadcastRecector上添加了onRecture方法。我运行它,但没有什么想工作!!!没有logCat消息...
2.第二个解决方案:
检查互联网连接,检查设备上的谷歌帐户...
请保存我的一天,并给我你的经验,使GCM注册工作的Android2。x、 x
提前感谢:)
最后,我找到了在Android 2.2及更高版本上使用Android推送通知的最简单方法。
方法如下链接中的步骤:
https://developer.android.com/google/gcm/helper.html
虽然它已经被弃用了,但我觉得它已经足够了,它正在工作,这就是我想要的。
我尝试使用GCM发送APN。设备注册OK,GCM和IOS设备令牌被接收。当我尝试发送有效载荷没有"通知"节点: 一切正常。 但是我想处理应用程序在后台时的通知 根据文档,我将有效负载修改为: 第一次尝试: 但没有收到通知。 第二次尝试: 然后应用程序不会收到任何通知,即使我删除了通知节点。所以我必须移除它,重新安装,接收新的代币。 第二期: 我试图检查APN使用NWPusher,但得到错误:无效令
我正在尝试将GCM用于IOS和Android客户端。当应用程序位于前台时,它似乎可以与IOS配合使用,但是,当应用程序位于后台时,通知中心不会收到消息,并且不会调用带有completionHandler的DidReceiveEmotentification。 我发现一个问题是从GCM到APN的消息格式错误。也就是说,它看起来就是这样: {“aps”:{“内容可用”:1},“数据id”:345} 顺
我在一个数据库表中有一个GCM注册用户列表及其相应的注册ID,我实际上想在用户从表中删除时注销该用户。我在Stackoverflow中发现了很多示例,但大多数示例都基于旧的GCMRegistarAPI,现在已经不推荐使用了。我正在使用GoogleCloudMessaging API,并通过以下方法注册用户: 我有一个管理员应用程序,它充当第三方应用程序服务器,因为它向所有用户推送通知。我想注销一个
我的客户机/服务器上的推送通知设备注册管理有一个小问题。 同样,这里的问题是,我有两个或更多的注册ID都可以工作(如果我旧的一个在尝试从服务器发布消息时不工作,这不会有问题,因为我可以简单地清理它)。
我已经从中看到了“GCM体系结构概述”http://developer.android.com/guide/google/gcm/gcm.html.文档说,当android应用程序注册GCM时,会调用onRegistered(上下文c,字符串regId),其中包含regId,然后用户将该regId发送到其服务器。该文件称“谷歌可能会定期刷新注册ID”。我的问题是,我怎么知道谷歌已经为用户刷新了re
这个小部件在模拟器4.1.2上工作得很好,当安装在真正的设备上时,它甚至不会显示在小部件列表上,就像安装了一样,但我不能让它正常工作。 下面是manifest.xml 和小部件提供程序