上节课给大家介绍了如何实现下载进度更新,本节课将会给大家介绍如何实现通知栏消息提醒和通知栏的下载进度更新,如果还没有学习前面的课程的同学可以先学习前面内容:
App更新策略课程-检查更新实现
App更新策略课程-定义后台更新服务
App更新策略课程-实现进度更新
配套视频教程:
App更新策略课程
先来看一下我们本节课要实现的效果:
上一节我们实现了在前台时进度条更新,现在我们考虑一个场景:
- 用户按了Home键回到后台,这个时候用户是看不到更新进度的,因为当前Activity已经不可见了,但是更新下载还在后台服务进行着,那么我们就应该在通知栏显示我们的进度更新,让用户感知到我们的更新是正在进行的。
- 当用户想回到前台,则可以通过点击通知栏消息跳转回前台界面,继续完成更新进度。
上面是我们初步的需求,下面来看具体实现:
代码位置:AppUpdateService.java
获取系统通知服务
构建Notification
通过NotificationCompat.Builder创建一个builder对象来构建Notification,设置标题、icon、是否自动cancel、自定义通知栏视图、设置PendingIntent。
更新通知栏进度
在代码上可以看到这样的逻辑,如果当前activity在后台时,在消息通知栏显示下载进度,通过获取Notification的contentVew来设置相应的内容,并通过NotificationManager来显示通知。
基本在通知栏显示的逻辑就这样,我们下载成功之后还有显示结果消息通知:
代码位置:AppUpdateManager.java
这里通过不同的flag在通知栏显示不同的消息,具体实现这里就不再截图,大家可以去看看代码:
http://git.oschina.net/devilwwj/AndroidUpdateDemo
本节课的内容就这么多,如果有任何疑问可以直接留言,欢迎拍砖。