Android 告诉栏Notification的结合全部学习-Android-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝30
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:304回复:0

  Android 告诉栏Notification的结合全部学习

楼主#
更多 发布于:2016-05-19 16:03


在Android的运用层中,触及到很多运用结构,例如:Service结构,Activity管理机制,Broadcast机制,对话框结构,标题栏结构,状况栏结构,告诉机制,ActionBar结构等等。


下面就来说说常常会运用到告诉机制中的告诉栏结构(Notificaiton),它适用于交互事情的告诉。它是坐落顶层能够翻开的告诉列表。它会时不时的提示你啥软件该更新了,啥人发你微信音讯了等。

Notificaiton状况告诉栏:



功用作用










1. 显现接收到短音讯、即便音讯等信息 (如QQ、微信、新浪、短信)
2. 显现客户端的推送音讯(如有新版别发布,广告,引荐新闻等)
3. 显现正在进行的事物(例如:后台运转的程序)(如音乐播映器、版别更新时分的下载进展等)



思想导图结构










思想导图的大体结构(依照各个节点延伸拓宽学习)


Notificaiton — service   – BroadcastReceiver  – Intent(flag、Action等特点运用) —  PendingIntent


慨叹:


一个Notificaiton告诉的拓宽运用就要触及与4大组成的配合,所以学好全体的常识体系。


联络:


1. 因为service 是在后台运转,所以它目的做啥咱们看不到,能够经过Notificaiton 来显现提示(如音乐的后台播映)。


2. service效劳和BroadcastReceiver播送相结合,在加上Notificaiton 显现(如程序的后台更新)。


3. Intent作为目的处理,和Notificaiton的点击时刻严密结合在了一起,而且与BroadcastReceiver和service的联络也严密不能够切割。


(service 在后台今后经过BroadcastReceiver来告诉Notificaiton 显现有关东西,在经过Intent完结用户的目的操作)


有关文档:Activity启动模式 及 Intent Flags 与 栈 的有关剖析



对应的官方连接










规划文档 :


官方:http://developer.android.com/design/patterns/notifications.html


译文:http://adchs.github.io/patterns/notifications.html


运用教程 :http://developer.android.com/training/notify-user/index.html


开发文档 :http://developer.android.com/reference/android/app/Notification.html



大体了解










Notification支撑文字内容显现、轰动三色灯铃声等多种提示办法,在默许情况下,Notification仅显现音讯标题音讯内容送达时刻这3项内容。以下即是告诉的根本规划。


告诉的根本规划





通常视图:


高度64dp


大企图的告诉在翻开前也显现为通常视图





元素:


1. 标题   Title/Name


2. 大图标  Icon/Photo


3. 内容文字


4. 内容信息   MESSAGE


5. 小图标 Secondary Icon


6. 告诉的时刻 Timestamp,默许为体系发出告诉的时刻,也可经过setWhen()来设置



有关剖析










状况告诉栏首要触及到2个类:  Notification 和 NotificationManager


Notification为告诉信息类,它里边对应了告诉栏的各个特点


NotificationManager :  是状况栏告诉的管理类,担任发告诉、铲除告诉等操作。


留意:NotificationManager 是一个体系Service,所以有必要经过getSystemService(NOTIFICATION_SERVICE)办法来获取,办法如下。










NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);





运用过程:










流程模块:


第一步:创立一个告诉栏的Builder结构类  (Create a Notification Builder)


第二步:界说告诉栏的Action  (Define the Notification’s Action)


第三步:设置告诉栏点击事情    (Set the Notification’s Click Behavior)


第四步:告诉   (Issue the Notification)



代码模块: