【转】NotificationCopat.Builder全部设置
1.方法:setContentTitle(CharSequence title)
功能:设置通知栏标题。
例子:setContentTitle("测试标题")。
2.方法:setContentText(CharSequence text)
功能:设置通知栏显示内容。
例子:setContentText("测试内容")。
3.方法:setContentIntent(PendingIntent intent)
功能:设置通知栏点击意图。
例子:setContentIntent(PendingIntent.getActivity(this, 1, new Intent(), flags))。
4.方法:setTicker(CharSequence tickerText)、setTicker(CharSequence tickerText, RemoteViews views)
功能:设置通知在第一次到达时在状态栏中显示的文本。
注意:5.0及之后没有效果。
例子:setTicker("测试通知来啦")。
5.方法:setWhen(long when)
功能:通知产生的时间,会在通知栏信息里显示,一般是系统获取到的时间。
例子:setWhen(System.currentTimeMillis())。
6.方法:setPriority(int pri)
功能:设置通知优先级。
例子:setPriority(Notification.PRIORITY_DEFAULT)。
参数属性:
Notification.PRIORITY_DEFAULT //默认优先级,用于没有特殊优先级分类的通知
Notification.PRIORITY_HIGH //高优先级,用于重要的通信内容,例如短消息或者聊天
Notification.PRIORITY_LOW //低优先级,可以通知用户但又不是很紧急的事件
Notification.PRIORITY_MAX //重要而紧急的通知,通知用户这个事件是时间上紧迫的或者需要立即处理的
Notification.PRIORITY_MIN //用于后台消息(例如天气或者位置信息)。最低优先级通知将只在状态栏显示图标,只有用户下拉通知抽屉才能看到内容。
7.方法:setNumber(int number)
功能:设置通知集合的数量。
例子:setNumber(10)。
8.方法:setAutoCancel(boolean autoCancel)
功能:true,当用户点击面板就可以让通知自动取消。
例子:setAutoCancel(true)。
9.方法:setOngoing(boolean ongoing)
功能:true,设置它为一个正在进行的通知,通常表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)。
例子:setOngoing(false)。
10.方法:setDefaults(int defaults)
功能:向通知添加声音、闪灯和震动效果,最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合Notification.DEFAULT_ALL、Notification.DEFAULT_SOUND添加声音。
例子:setDefaults(Notification.DEFAULT_VIBRATE)。
参数属性:
Notification.DEFAULT_VISIBLE //添加默认震动提醒 需要VIBRATE permission
Notification.DEFAULT_SOUND //添加默认声音提醒
Notification.DEFAULT_LIGHTS //添加默认三色灯提醒
Notification.DEFAULT_ALL //添加默认以上三种全部提醒
11.方法:setSmallIcon(int icon)
功能:设置通知的小Icon。
例子:setSmallIcon(R.mipmap.ic_launcher)。
12.方法:setCategory(String category)
功能:设置通知类别。
例子:setCategory(Notification.CATEGORY_MESSAGE)。
参数属性:

Notification.CATEGORY_CALL //呼入(语音或视频)或类似的同步通信请求。
Notification.CATEGORY_MESSAGE //直接消息(短信、即时消息等)。
Notification.CATEGORY_EMAIL //异步批量消息(电子邮件)。
Notification.CATEGORY_EVENT //日历事件。
Notification.CATEGORY_PROMO //促销或广告。
Notification.CATEGORY_ALARM //闹钟或定时器。
Notification.CATEGORY_PROGRESS //长时间后台操作的进展。
Notification.CATEGORY_SOCIAL //社交网络或共享更新。
Notification.CATEGORY_ERROR //后台操作或者身份验证状态出错。
Notification.CATEGORY_TRANSPORT //回放媒体传输控制。
Notification.CATEGORY_SYSTEM //系统或者设备状态更新,预留给系统使用。
Notification.CATEGORY_SERVICE //运行后台服务的指示。
Notification.CATEGORY_RECOMMENDATION //针对某一事物的具体及时的建议。
Notification.CATEGORY_STATUS //关于设备或者上下文状态的正在进行的信息。
Notification.CATEGORY_REMINDER //用户预定提醒。

13.方法:setColor(@ColorInt int argb)
功能:设置通知栏颜色。
例子:setColor(0x667788)。
14.方法:setContentInfo(CharSequence info)
功能:在通知的右侧设置大文本。
例子:setContentInfo("大文本")。
15.方法:setLocalOnly(boolean b)
功能:设置此通知是否仅与当前设备相关,如果设置为true,通知就不能桥接到其他设备上进行远程显示。
例子:setLocalOnly(true)。
16.方法:setVibrate(long[] pattern)
功能:设置使用震动模式。
例子:setVibrate(new long[] {0,300,500,700})。延迟0秒,然后震动300ms,再延迟500ms,接着震动700ms。
17.方法:setUsesChronometer(boolean b)
功能:设置是否显示时间计时,电话通知就会使用到。
例子:setUsesChronometer(true)。
18.方法:setRemoteInputHistory(CharSequence[] text)
功能:设置远程输入历史。
例子:setRemoteInputHistory(new CharSequence[] {"1","2","3"})。
19.方法:setOnlyAlertOnce(boolean onlyAlertOnce)
功能:设置仅提醒一次。
例子:setOnlyAlertOnce(true)。
20.方法:setLights(@ColorInt int argb, int onMs, int offMs)
功能:android支持三色灯提醒,这个方法就是设置不同场景下的不同颜色的灯。
注意:(1)只有在设置了标志符Flags为Notification.FLAG_SHOW_LIGHTS的时候,才支持三色灯提醒。
(2)这边的颜色跟设备有关,不是所有的颜色都可以,要看具体设备。
例子:setLights(Oxff0000ff, 300, 0)
其中argb表示灯光颜色,onMs表示亮持续时间,offMs表示暗的时间。
还有一种写法是:
Notification notify = mBuilder.build();
notify.flags = Notification.FLAG_SHOW_LIGHTS;
notify.ledARGB = 0xff0000ff;
notify.ledOnMS = 300;
notify.ledOffMs = 300;
21.方法:setSound(Uri sound)、setSound(Uri sound, int streamType)、setSound(Uri sound, AudioAttributes audioAttributes)
功能:设置默认或者自定义的铃声来提醒。
例子:setDefaults(Notification.DEFAULT_SOUND);//获取默认铃声
setSound(Uti.parse("file:///sdcard/xx/xx.mp3"));//获取自定义铃声
setSound(Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URL, "5"));//获取Android多媒体库内的铃声
其中streamType指的铃声的使用流。
参数属性:

AudioManager.STREAM_MUSIC //用于音乐播放的音频流
AudioManager.STREAM_RING //用于电话铃声的音频流
AudioManager.STREAM_VOICE_CALL //用于电话呼叫的音频流
AudioManager.STREAM_SYSTEM //用于系统声音的音频流
AudioManager.STREAM_ALARM //用于警报的音频流
AudioManager.STREAM_NOTIFICATION //用于通知的音频流
AudioManager.STREAM_BLUETOOTH_SCO //蓝牙已经连接的电话呼叫的音频流
AudioManager.STREAM_SYSTEM_ENFORCED //在特定国家强制系统声音的音频流(比如日本的照相机)
AudioManager.STREAM_DTMF //用于DTMF(双音多频电话)音调的音频流
AudioManager.STREAM_TTS //TTS(文本到语音)的音频流

22.方法:setProgress(int max, int progress, boolean indeterminate)
功能:设置带进度条的通知,可以在下载中使用。
注意:此方法在4.0及以后版本才有用,如果为早期版本,需要自定义通知布局,其中包含ProgressBar视图。
例子:setProgress(100, 66, true)。
其中max表示精度条最大数值,progress表示当前进度,indeterminate表示进度是否不确定,true为不确定,false为确定。
如果为确定的进度条,调用setProgress(max, progress,
false)来设置通知,在更新进度的时候在此发起通知更新progress,并且在下载完成后要移除进度条,通过调用setProgress(0,0,false)即可。
如果为不确定(持续活动)的进度条,这是在处理进度无法准确获知时显示活动正在持续,所以调用setProgress(0,0,true),操作结束时,调用setProgress(0,0,false)并更新通知以移除指示条。
23.方法:build()
功能:整合所有已设置的选项,返回一个新的Notification对象。
例子:build()。
24.方法:setStyle(Style style)
功能:在构建应用时添加一个丰富的通知样式。
例子:setStyle(inboxStyle)
参数属性:
BigPictureStyle //用于生成包含大图像附件的大格式通知的辅助类
BigTextStyle //用于生成包含大量文本的大格式通知的辅助类
MessagingStyle //用于生成大格式通知的辅助类,其中包含任意数量的不同类型的多个来回消息
InboxStyle //用于生成大格式通知的辅助类,其中包含一个(最多5个)字符串列表
25.方法:addAction(int icon, CharSequence title, PendingIntent intent)、addAction(Notification.Action action)
功能:向通知添加操作,操作通常与通知的content相连被系统作为按钮来显示。在系统的content下方显示图片与title,点击这个图片或者title就会触发设置的intent。
注意:Android 4.1版本及其以上才能使用,之下版本不能使用。
例子:addAction(R.drawable.icon,"test action",actionPendingIntent)
26.方法:setContent(RemoteViews views)
功能:支持使用自定义视图替代标准的视图。
例子:setContent(mRemoteViews)。
27.方法:setLargeIcon(Bitmap icon)
功能:设置下拉列表中的图标(大图标)
例子:setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.icon))。
28.方法:setPublicVersion(Notification n)
功能:设置安全锁屏下的通知
例子:setPublicVersion(publicBuilder.build())。
29.方法:setDeleteIntent(PendingIntent intent)
功能:设置通知删除时的意图
例子:setDeleteIntent(deletePendingIntent)。
30.方法:setExtras(Bundle extras)
功能:为通知设置数据。
例子:setExtras(bundle),不太清楚主要用于做什么。
31.方法:setSubText(CharSequence text)
功能:在通知模板上设置第三行文本。
注意:如果使用了setProgress(),就不要使用setSubText()了,它们占据同一个位置。
如果不提供大格式通知,则此方法没有效果,第三行文本只出现在展开视图中。
例子:setSubText("sub text")。
32.方法:setFullScreenIntent(PendingIntent intent, boolean highPriority)
功能:只适用于具有极高优先级的通知,比如电话或者闹铃,如果设备被用用于其他东西,请给用户一个选项关闭它并使用一个正常的通知,因为这个可能会有破坏性。
例子:setFullScreenIntent(fullScreenIntent, true)。
33.方法:setGroup(String groupKey)
功能:设置该通知组的密钥,即确认为哪一组。
例子:setGroup(“test_notification”)。
34.方法:setGroupSummary(boolean isGroupSummary)
功能:设置是否为一组通知的第一个显示。
例子:setGroupSummary(true)。
35.方法:setSortKey(String sortKey)
功能:设置针对一个包内的通知进行排序的键值,
例子:setSortKey("sort")
【转】NotificationCopat.Builder全部设置的更多相关文章
- Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API
想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...
- AlertDialog.Builder 样式设置
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.AlertDia ...
- Android开发——Notification通知的各种Style详解
本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...
- Android分类导航
新的一年,将在2017下半年所写的博文作了个总结,也是方便自己以后查阅,整理完也是发现在这半年而是学到了许多,新的一年,继续努力! 我的第一个Android开源库——CirclePointMove中文 ...
- Android设计模式源码解析之Builder模式
https://github.com/simple-android-framework/android_design_patterns_analysis/tree/master/builder/mr. ...
- Android开发之Buidler模式初探结合AlertDialog.Builder解说
什么是Buidler模式呢?就是将一个复杂对象的构建与它的表示分离,使得相同的构建过程能够创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它同意用户能够仅仅通过指定复杂对象 ...
- (一)Builder(建造者)模式
我们一般在构建javabean的对象的时候通常有三种写法: 1.直接通过构造函数传参的方式设置属性,这种方法如果属性过多的话会让构造函数十分臃肿,而且不能灵活的选择只设置某些参数. 2.采用重叠构造区 ...
- Android开发 ---构建对话框Builder对象,消息提示框、列表对话框、单选提示框、多选提示框、日期/时间对话框、进度条对话框、自定义对话框、投影
效果图: 1.activity_main.xml 描述: a.定义了一个消息提示框按钮 点击按钮弹出消息 b.定义了一个选择城市的输入框 点击按钮选择城市 c.定义了一个单选提示框按钮 点击按钮选择某 ...
- 使用Builder模式造车
Builder模式也可以造车. 对于Builder模式来说,首相要把要造的车确定下来: public class Car { public string Model { get; set; } pub ...
随机推荐
- 手动安装composer详细教学
1.下载compser.phar 地址 https://getcomposer.org/download/ 2.新建composer.bat 文件,写入“@php "%~dp0compose ...
- python-简单邮件报警
在scrapy爬虫项目中经常遇到 爬取数据时报错无法及时处理 导致数据爬取不完整 只能先查看log才能发现报错 首先写一个简单的邮件发送模块 """ @file: ema ...
- 关于Http协议,你必须要知道的
转自:https://segmentfault.com/a/1190000016751071 引言 HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用 ...
- [微信小程序]在应用地图时,如何设置满屏(高度)
微信小程序在做地图功能时 用常规的办法height:100%:来设置高度来占满屏幕是不行的 它不会生效 应该改用单位vh 例如 height:100vh 这样就可以是地图占满整个屏幕高度
- JS关于Date函数的格式化输出
// 对Date的扩展,将 Date 转化为指定格式的String // 月(M).日(d).小时(h).分(m).秒(s).季度(q) 可以用 1-2 个占位符, // 年(y)可以用 1-4 个占 ...
- Java web每天学之Servlet工作原理详情解析
上篇文章中我们介绍了Servlet的实现方式以及Servlet的生命周期,我们这篇文章就来介绍一下常用对象. 点击回顾:<Java Web每天学之Servlet的工作原理解析>:<J ...
- Python微信公众号开发—小白篇
本文面向想通过Python学习公众号开发的同学.一站式解决新手开发微信公众号遇到的所有问题. 为了防止我的文章被到处转载,贴一下我的公众号[智能制造专栏],欢迎大家关注. github仓库地址http ...
- Kali学习笔记42:SQL手工注入(4)
前三篇文章都是在讲发现SQL注入漏洞 如何查询得到所有的信息 那么另一条思路还未尝试过:能否修改数据? 例如这样: '; update users set user='yiqing' where us ...
- [Swift]LeetCode83. 删除排序链表中的重复元素 | Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1 ...
- [Swift]LeetCode1002. 查找常用字符 | Find Common Characters
Given an array A of strings made only from lowercase letters, return a list of all characters that s ...