、简介Notificaiton),它适用于交互事件的通知。它是位于顶层可以展 开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。
二、使用
Notificaiton状态通知栏:
Notification支持文字内容显示、震动、三色灯、铃声等多种提示形式,在默认情况下,Notification仅显示消息标题、
消息内容、送达时间这3项内容。以下就是通知的基本布局。 NotificationManager : 是状态栏通知的管理类,负责发通知、清除通知等操作。
使用步骤: 


第一步:获取状态通知栏管理:

NotificationManager mNotificationManager = (NotificationManager)
getSystemService(NOTIFICATION_SERVICE);

第二步:实例化通知栏构造器NotificationCompat.Builder:

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);

第三步:对Builder进行配置:

mBuilder.setContentTitle("测试标题")//设置通知栏标题
.setContentText("测试内容") //设置通知栏显示内容
.setContentIntent(getDefalutIntent()) //设置通知栏点击意图
// .setNumber(number) //设置通知集合的数量
.setTicker("测试通知来啦") //通知首次出现在通知栏, 带上升动画效果的
.setWhen(System.currentTimeMillis())//通知产生的时间, 会在通知信息里显示, 一般是系统获取到的时间
.setPriority(Notification.PRIORITY_DEFAULT) //设置该通知优先级
// .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
.setOngoing(false)//ture, 设置他为一个正在进行的通知。 他们通常是用来表示一个后台任务,用户积极参与(如播放音
乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
.setDefaults(Notification.DEFAULT_VIBRATE)//向通知添加声音、 闪灯和振动效果的最简单、 最一致的方式是使用当
前的用户默认设置, 使用defaults属性, 可以组合
//Notification.DEFAULT_ALL Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
.setSmallIcon(R.drawable.ic_launcher);//设置通知小ICON
public PendingIntent getDefalutIntent(){
Intent noticeIntent = newIntent(getContext(), MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(getContext(), 0, noticeIntent, 0);
return pendingIntent;
}Notification对象, 设置flags和显示的layout并通知
Notification notification = mBuilder.build();
notification.flags = Notification.FLAG_AUTO_CANCEL;
notification.contentView= newRemoteViews(getContext().getPackageName(), R.layout.app_upgrade_notice);
notificationManager.notify(0, notification);


为Notify添加进度条:

notification.contentView.setProgressBar(R.id.pg_upgrade, 100, progress, false);


其他Flags:

Notification.FLAG_SHOW_LIGHTS //三色灯提醒,在使用三色灯提醒时候必须加该标志符
Notification.FLAG_ONGOING_EVENT //发起正在运行事件(活动中)
Notification.FLAG_INSISTENT //让声音、振动无限循环,直到用户响应 (取消或者打开)
Notification.FLAG_ONLY_ALERT_ONCE //发起Notification后,铃声和震动均只执行一次
Notification.FLAG_AUTO_CANCEL //用户单击通知后自动消失
Notification.FLAG_NO_CLEAR //只有全部清除时,Notification才会清除 ,不清楚该通知(QQ的通知无法清除,就是用的这个)
Notification.FLAG_FOREGROUND_SERVICE //表示正在运行的服务