在开发一个与GCM集成的小项目时,我偶然发现了一个奇怪的问题.
有时当我开始观看日志以查看是否收到消息时,在我改变网络状态(IE最初在WiFi上,如果我关闭WiFi并转移到移动数据,消息到达)之前,消息似乎没有通过精细).在我改变网络状态后,消息开始完全正常,一旦我将网络状态改回到之前的状态(在这种情况下,WiFi),消息将继续被接收,这同样适用.
该项目本身包括启动启动的能力(启动时启动GCMBaseIntentService),这也完全正常,我确信应用程序/服务正在运行,因为我在发生此问题时手动启动应用程序(其中还检查是否正在运行的服务,如果它不运行它,并检查它是否已注册).
有没有其他人遇到过这个问题,或者有任何指示我如何解决这个问题?我没有看到的消息的时间之间的日志中有很大帮助什么都没有收到,当他们(改变网络状态后).我已经浏览了GCM文档,并且看不到由于超时(在设备本身上)或任何可能影响此问题的配置选项而未收到消息的任何提及.
感谢所有帮助 - 我可以提供源如果需要的话,虽然它很难从Android的SDK提供的演示程序偏离.
我陷入了一种奇怪的安卓行为,如果有人能建议我如何继续,我会很感激.
我首先开发了一个带有gcm的应用程序,现在升级到fcm,只是从服务器发送消息和通知.使用移动连接的这个应用程序或开放网络上的wifi,一切顺利,但当设备连接到代理后面的wifi时,设备停止接收通知.
代理当然是在设备上配置的,他们可以在互联网上冲浪,阅读电子邮件,连接到安装了gcm服务器的机器; 他们只是没有收到通知...不仅是我的应用程序,而且是所有应用程序,如环聊,WhatsApp和Gmail ...
可能谷歌播放服务无法与谷歌服务器连接...但我该怎么做才能强迫它?
我可以管理所有的网络设置,我已经删除了防火墙,所有端口都是打开的.如果我连接到普通网关一切正常,如果我将设备连接到此透明代理,通知将停止到达.
我在论坛上看到大多数用户使用"Drony"或他们根智能手机,不幸的是这些设备在生产环境中并且在保修期内,我无法安装第三方应用程序或root设备.
在我的应用程序中,我不直接管理代理配置,这是一个操作系统配置,但是通常情况下,Android通知不能在代理后面工作吗?
更新:
按照此主题 /sf/answers/2228286021/
并拨打*#*#426#*#*
它给我使用代理,谷歌播放服务断开连接 - >连接失败.可能TCP连接不通过代理.我已经设置了一个SOCKS服务器,但是在没有root的Android中,无法配置SOCKS连接,对吧?