AS之Notification

  1. Notification基本布局
  • Icon/Photo:大图标
  • Title/Name:标题
  • Message:内容信息
  • Timestamp:通知时间,默认是系统发出通知的时间,也可以通过setWhen()来设置
  • Secondary Icon:小图标
  1. Notification基本使用流程
  • Notification:通知信息类,它里面对应了通知栏的各个属性
  • NotificationManager:状态栏通知的管理类,负责发通知,清除通知等操作
  • step1. 获得NotificationManager对象: NotificationMessage mNManager=(Notification)getSystemService(NOTIFICATION_SERVICE);
  • step2. 创建一个通知栏的Builder构造类:Notification.Builder mBuilder=new Notification.Builder(this);
  • step3. 对Builder进行相关的设置,比如标题,内容,图标,动作等!
  • step4. 调用Builder的build方法为notification赋值
  • step5. 调用NotificationManager的notify发送通知
  1. 设置相关的一些方法
    Notification.Builder mBuilder = new Notification.Builder(this);
    (官方API文档Notification.Builder)
序号方法作用
01setContentTitle(charSequence)设置标题
02setContentText(charSequence)设置内容
03setSub Text(charSequence)设置内容下面一小行文字
04setTicker(charSequence)设置收到通知时顶部显示的文字信息
05setWhen(long)设置通知时间,一般设置的是收到通知时的System.currentTimeMillis()
06setSmallIcon(int)设置右下角的小图标
07setLargeIcon(Bitmap)设置左边的大图标
08setAutoCancel(boolean)用户点击Notification点击面板后是否让通知取消(默认不取消)
09setDefaults(int)想通知添加声音,闪灯和整栋效果的最简单,使用默认(default)属性
Notification.DEFAULT_VIBRATE添加默认震动提醒
Notification.DEFAULT_SOUND添加默认声音提醒
Notification.DEFAULT_LIGHTS设置默认三色灯提醒)
Notification.DEFAULT_ALL设置默认以上三种全部提醒
10setVibrate(long【】)设置震动方式,比如setVibrate(new long[] {0,300,500,700});延迟0ms,然后振动300ms,在延迟500ms, 接着再振动700ms,
11setLights(int argb,int onMs,int offMs)灯光颜色,亮持续时间,暗的时间,/还需要为Notification设置flags为Notification.FLAG_SHOW_LIGHTS才支持三色灯提醒
12setSound(Uri).setDefaults(Notification.DEFAULT_SOUND)获取默认铃声
.setSound(Uri.parse(“file://sdcard/xx/xx.mp3”))获取自定义铃声
.setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI,“5”))获取android多媒体库内的铃声
13setOngoing(Boolean)true:表示一个正在进行的通知,通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载, 同步操作,主动网络连接
14setProgress(int,int,boolean)进度条最大值,当前进度,进度是否不确定,如果为确定的进度条:调用setProgress(max, progress, false)来设置通知, 在更新进度的时候在此发起通知更新progress,并且在下载完成后要移除进度条 ,通过调用setProgress(0, 0, false)既可。如果为不确定(持续活动)的进度条, 这是在处理进度无法准确获知时显示活动正在持续,所以调用setProgress(0, 0, true) ,操作结束时,调用setProgress(0, 0, false)并更新通知以移除指示条
15setContentIntent(pendigIntent):PendingInteng可以设置执行次数,主要用于远程服务通信,闹铃,通知。这里通过 Pending启动Activity:getActivity(Context, int, Intent, int),当然还可以启动Service或者Broadcast PendingIntent的位标识符(第四个参数):
FLAG_ONE_SHOT表示返回的PendingIntent仅能执行一次,执行完后自动取消
FLAG_NO_CREATE表示如果描述的PendingIntent不存在,并不创建相应的PendingIntent,而是返回NULL
FLAG_CANCEL_CURRENT表示相应的PendingIntent已经存在,则取消前者,然后创建新的PendingIntent, 这个有利于数据保持为最新的,可以用于即时通信的通信场景
FLAG_UPDATE_CURRENT表示更新的PendingIntent
  • setPriority(int):设置优先级
优先级用户
MAX重要而紧急的通知 通知用户这个事件是时间上紧迫的或者需要立即处理的。
HIGH高优先级用于重要的通信内容,例如短消息或聊天,用户比较感兴趣
DEFAULT默认优先级用于没有特殊优先级分类的通知
LOW低优先级可以通知用户但又不是很紧急的事件
MIN用户后台消息(例如天气或者位置信息)最低优先级通知将只在状态栏显示图标,只有用户下拉通知抽屉才能看到内容。
  • 对应属性 Notification.PRIORITY_HIGH
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值