Fer*_*nch 33 android push-notification wifi android-wifi google-cloud-messaging
我一直在阅读很多关于影响某些人的GCM问题的帖子.似乎在一些设备/路由器/运营商中,通知遭受延迟.我的路由器经历过这个问题:WIFI上的消息有很多延迟,但是当我禁用WIFI并连接到移动网络时,消息就会立即出现.
似乎可以通过Android应用程序完成解决方法.像增加心跳使GCM连接保持活跃等等.
任何人都可以告诉我们我们应该做些什么来避免延误?我们如何通过Android应用程序保持与GCM的连接?代码示例(以及在何处以及如何使用它)将非常有用.
这篇文章解释了这个问题.它说"我们可以通过每两分钟从GCM服务器(这是免费的)ping一直保持连接".我们怎么做?
非常感谢
以下应用似乎可以解决问题.令人惊讶的是,第一个不需要任何许可,第二个是互联网连接,第三个仅适用于root电话:
https://play.google.com/store/apps/details?id=at.pansy.droid.gcmWifiFix
https://play.google.com/store/apps/details?id=com.elotro.pushheartbeat
https://play.google.com/store/apps/details?id=com.andqlimax.pushfixer
Ren*_*vol 36
我会在第一个答案中将其作为评论,但我没有足够的声誉.
我有一个类似的问题,我在调用我的webservice之前解决了它执行下面的代码.
context.sendBroadcast(new Intent("com.google.android.intent.action.GTALK_HEARTBEAT"));
context.sendBroadcast(new Intent("com.google.android.intent.action.MCS_HEARTBEAT"));
Run Code Online (Sandbox Code Playgroud)
希望对你有所帮助!
sor*_*486 10
没有必要将心跳从GCM服务器发送到手机,你可以强制安卓自己尽快发送心跳.
我看了一下Push Notifications Fixer应用程序,我测试并为我工作,看来你需要做的就是广播以下意图:
com.google.android.intent.action.MCS_HEARTBEAT
com.google.android.intent.action.GTALK_HEARTBEAT
Run Code Online (Sandbox Code Playgroud)
我不确定为什么要发送这两个,你只能尝试一个,看看它是否有效.这是应用程序的链接(我不是开发人员):https: //play.google.com/store/apps/details?id = com.andqlimax.pushfixer.noroot
"we could keep the connection alive with a ping every two minutes from the GCM server (which is free)". How can we do that?
您可以通过从服务器向所有您希望执行此 ping 操作的设备发送 GCM 消息来实现此目的。您可以在该消息中放置一些特殊的有效负载,这些负载将由设备上的应用程序静默处理(并且不显示任何通知)。但是,此类 ping 会缩短使用此应用程序的设备的电池寿命。
| 归档时间: |
|
| 查看次数: |
31808 次 |
| 最近记录: |