移动开发狂热者(299402133)Android图片管理工具 弹窗 保活 音乐播放器 自定义View 计步器 项目框架

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

2016-06-04  本文已影响399人  IT_xiao小巫

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

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

配套视频教程:
App更新策略课程

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

通知栏进度更新 下载完毕

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

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

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

获取系统通知服务

获取通知服务

构建Notification

初始化Notification

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

更新通知栏进度

更新通知栏进度

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

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

下载结果通知

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

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

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

上一篇 下一篇

猜你喜欢

热点阅读