问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

android当服务器发来了一条信息怎样让它在程序图标上提示有新信息来了...

发布网友 发布时间:2024-10-03 08:24

我来回答

1个回答

热心网友 时间:2024-11-06 05:31

消息推送可以实现。
  所谓的消息推送就是从服务器端向移动终端发送连接,传输一定的信息。比如一些新闻客户端,每隔一段时间收到一条或者多条通知,这就是从服务器端传来的推送消息;还比如常用的一些IM软件如微信、GTalk等,都具有服务器推送功能。

  推送方法如下:

  1)通过SMS进行服务器端和客户端的交流通信。

  在Android平台上,你可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,可以实现完全的实时操作。但是问题是这个方案的成本相对比较高,且依赖于运营商。

  2)循环主动定时获取

  这种方法需要客户端来做一个定时或者周期性的访问服务器端接口,以获得最新的消息。轮询的频率太慢可能导致某些消息的延迟,太快则会大量消耗网络带宽和电池。

  3)持久连接

  这个方案可以解决由轮询带来的性能问题,但是还是会消耗手机的电池。我们需要开一个服务来保持和服务器端的持久连接(苹果就和谷歌的C2DM是这种机制)。但是对于Android系统,当系统可用资源较低,系统会强制关闭我们的服务或者是应用,这种情况下连接会强制中断。(Apple的推送服务之所以工作的很好,是因为每一台手机仅仅保持一个与服务器之间的连接,事实上C2DM也是这么工作的。即所有的推送服务都是经由一个代理服务器完成的,这种情况下只需要和一台服务器保持持久连接即可。C2DM=Cloud
to Device Messaging)。

  相比之下第三种还是最可行的。为软件编写系统服务或开机启动功能;或者如果系统资源较低,服务被关闭后可以在onDestroy ()方法里面再重启该服务,进而实现持久连接的方式。

  C2DM内置于Android的2.2系统上,无法兼容老的1.6到2.1系统;且依赖于Google官方提供的C2DM服务器,由于国内的网络环境,这个服务经常不可用。

  建立在TCP协议之上的XMPP协议,不仅可提供可这种持久连接的功能,能实现服务器和客户机的双工通信,还能不依赖与系统版本和google服务器的限制,提供了比较好的解决方案。

  2. XMPP协议

  XMPP全称Extensible Messaging and Presence
Protocol,前身是Jabber项目,是一种以XML为基础的开放式即时通讯协议。XMPP因为被Google
Talk和网易泡泡应用而被广大网民所接触。XMPP的关键特色是,分散式的即时通讯系统,以及使用XML串流。XMPP目前被IETF国际标准组织完成了标准化工作。

  Android push notification(androidpn)
是一个基于XMPP协议的java开源实现,它包含了完整的客户端和服务器端。该服务器端基本是在另外一个开源工程openfire基础上修改实现的。

  androidpn客户端需要用到一个基于java的开源XMPP协议包asmack,这个包同样也是基于openfire下的另外一个开源项目smack,不过我们不需要自己编译,可以直接把androidpn客户端里面的asmack.jar拿来使用。客户端利用asmack中提供的XMPPConnection类与服务器建立持久连接,并通过该连接进行用户注册和登录认证,同样也是通过这条连接,接收服务器发送的通知。

  androidpn服务器端也是java语言实现的,基于openfire开源工程,不过它的Web部分采用的是spring框架,这一点与openfire是不同的。Androidpn服务器包含两个部分,一个是侦听在5222端口上的XMPP服务,负责与客户端的XMPPConnection类进行通信,作用是用户注册和身份认证,并发送推送通知消息。另外一部分是Web服务器,采用一个轻量级的HTTP服务器,负责接收用户的Web请求。服务器的这两方式,意义非凡:当相应的TCP端口被防火墙封闭,可以使用轮询的方式进行访问,因此又有助于通过防火墙。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
手机导航地图语音怎么下载 如何分别真金和仿金首饰 怎样区分真金和仿金首饰呢 小学生新年晚会主持人的串词!!(不要太多)急 大大后天就需要了!!!_百度... 周年晚会策划公司 奥格瑞玛传送门大厅在哪 奥格瑞玛传送门大厅怎么走 锻炼颈椎的几个动作 水多久能结冰 冰能在多长时间内形成 请问水低于0度会结冰吗? 如何防止脱发严重 从胶州到崂山区的青岛国际会展中心1号馆怎么去。长途汽车和火车哪个方便... 胶州火车站去青岛华秀国际会展中心怎样乘公交 从胶州到青岛国际会展中心要怎么走,汽车和火车哪个更快,价格大约是多少... 从胶州到青岛国际会展中心到哪下车比较近 胶州去青岛华秀国际会展中心怎样乘公交 ...有男朋友了,到实际情况是,她没有男朋友,我还怎么办?真的很喜欢_百... 巨蟹座女生有活动为什么不带男朋友的 - 百度 巨蟹座为什么没有男朋友? 市面上有哪些风格强烈的牛仔裤款式值得入手? MG小象有哪些设计感较强的牛仔裤值得推荐? 日本牛仔裤品牌有哪些?日本牛仔裤品牌排行榜 《菩萨蛮·人人尽说江南好》该怎样鉴赏?创作背景是什么? 一个男生对你说爱得累了是什么意思? ...时说爱的太累时会不会是他已移情别恋了?爱得累了的时候会不会移情... 请问我是从淄博到潍坊的火车 我下车的时候是潍坊的哪个区阿?我要去... 看IPHONE视频要什么格式 iphone视频文件格式是什么 科目三考过了签了成绩单,然后约科四约不了。驾校说是考试数据没上传_百 ... 考驾照科三路考时成绩单合格打印出来了但是没有上传到网上怎么办_百度... 无论怎样换手机卡,总有人知道号码,经常骚扰,怎样才能知道骚扰的人是谁... ...体能杀死侵入的病毒和细菌,分解产物都将以胞吐方式排出细胞外... 华为p9能用谷歌地图么? 为什么我的华为p9不能下载谷歌地图? 为什么有时候微信发消息会消失后面的字? 微信发送文字后,后面的字就没有了,为什么? 梦见蛇笨被杀死了的预兆 大陆行货 5700普通版和变形金刚版的标准配置有什么不同 ?? 诺基亚5700怎样区分欧版亚太港行大陆哪种好?价位是多少? 诺基亚5700纯黑板和变形金刚是不同的么? 帮我看一下我的5700是不是港行(高分) 梦见没教过自己的小学教师的预兆 ...买些什么 主机里的线 需要单买吗 机箱是不是都 怎么在1元充抖币中充值10元? 抖音一元10抖币怎么充值 落寞感是什么意思 抖音1元充10抖币怎么充? 梦见亲戚的家事的预兆 梦见亲人家有事让我全家去的预兆 明明家到学校有459米+他每分钟步行要48米+估一估+他九分钟能到学校吗... ...没满五分钟走55米8.00正好到学校小刚从家到学校