App更新策略课程-实现通知栏进度更新

上节课给大家介绍了如何实现下载进度更新,本节课将会给大家介绍如何实现通知栏消息提醒和通知栏的下载进度更新,如果还没有学习前面的课程的同学可以先学习前面内容:

  • App更新策略课程-检查更新实现
  • App更新策略课程-定义后台更新服务
  • App更新策略课程-实现进度更新

配套视频教程:

  • App更新策略课程

先来看一下我们本节课要实现的效果:

上一节我们实现了在前台时进度条更新,现在我们考虑一个场景:

  1. 用户按了Home键回到后台,这个时候用户是看不到更新进度的,因为当前Activity已经不可见了,但是更新下载还在后台服务进行着,那么我们就应该在通知栏显示我们的进度更新,让用户感知到我们的更新是正在进行的。
  2. 当用户想回到前台,则可以通过点击通知栏消息跳转回前台界面,继续完成更新进度。

上面是我们初步的需求,下面来看具体实现: 代码位置:AppUpdateService.java

获取系统通知服务

构建Notification

通过NotificationCompat.Builder创建一个builder对象来构建Notification,设置标题、icon、是否自动cancel、自定义通知栏视图、设置PendingIntent。

更新通知栏进度

在代码上可以看到这样的逻辑,如果当前activity在后台时,在消息通知栏显示下载进度,通过获取Notification的contentVew来设置相应的内容,并通过NotificationManager来显示通知。

基本在通知栏显示的逻辑就这样,我们下载成功之后还有显示结果消息通知: 代码位置:AppUpdateManager.java

这里通过不同的flag在通知栏显示不同的消息,具体实现这里就不再截图,大家可以去看看代码:

http://git.oschina.net/devilwwj/AndroidUpdateDemo

本节课的内容就这么多,如果有任何疑问可以直接留言,欢迎拍砖。

原文发布于微信公众号 - 小巫技术博客(wwjblog)

原文发表时间:2016-06-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构沉思录

缓存的正确使用方式,你都会了吗?

首先,缓存由于其适应高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。

14210
来自专栏owent

对象路由系统设计

现在的手游也开始越来越复杂,以前少量交互线上保存的服务器架构越来越不能满足现在越来越偏向PC端MMORPG的需求。比如现在手游也引入了地图服务、公会服务等等。特...

10310
来自专栏Linyb极客之路

分布式之数据库和缓存双写一致性方案解析

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。

30610
来自专栏腾讯移动品质中心TMQ的专栏

svn迁移至git指南

将代码从SVN迁移至Git时,若不关注SVN的历史提交记录,则直接将一份源代码提交至远端Git仓库即可;但对于大多数项目,历史提交则是对团队比较宝贵的记录,若要...

39120
来自专栏微信公众号:Java团长

分布式之数据库和缓存双写一致性方案解析

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。

13620
来自专栏Java后端技术栈

分布式之数据库和缓存双写一致性方案解析!

首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作:

13930
来自专栏大数据和云计算技术

HBase2.0 vs HBase1.x 延时比较

hbase2.0已经正式发布,对比之前1.x版本,2.0在读写链路上做了完善的优化,offheap、netty rpc等,这里做个小测试实验对比1.x和2.0在...

18330
来自专栏韩伟的专栏

可用于集群的开源软件赏:Chef

目前我在腾讯主要负责一个服务器端软件的相关开源项目,所以接下来几天的开源内容是最近工作上积累的一些经验和想法,下图中的内容就是我目前主要的工作内容和一些小小的成...

49560
来自专栏Java技术栈

分布式Session共享解决方案

Session是服务器用来保存用户操作的一系列会话信息,由Web容器进行管理。单机情况下,不存在Session共享的情况,分布式情况下,如果不进行Session...

39160
来自专栏Java架构沉思录

谈谈HTTP状态保持

HTTP协议本身是无状态的,无状态的意思是浏览器发起的每个HTTP请求,对于服务端而言都是彼此独立的,即服务端无法直接通过HTTP协议将用户的多次HTTP请求联...

35060

扫码关注云+社区

领取腾讯云代金券