Notification的使用(二)


传送门:Notification的使用(一)http://blog.csdn.net/houjianbo188/article/details/78021723

二、进阶使用

NotificationCompat.Builder里面丰富的API,现在就介绍几个常用的

1、setSound方法

在通知发出的时候播放一段音频:

Notificationnotification2=newNotificationCompat.Builder(mContext)

              ...........//省略其他属性

           .setSound(Uri.fromFile(newFile("/system/media/audio/ringtons/Luna.ogg")))//音频地址(这里是系统自带的一些铃声)

             .build();//通知创建

2、setVibrate方法

让手机进行震动,注意这个需要在清单文件申请权限<uses-permission  android:name="android.permission.VIBRATE"/>:

Notificationnotification2=newNotificationCompat.Builder(mContext)

                     ...........//省略其他属性

                    .setVibrate(new long[]{0,1000,1000,1000})//长整形数组,用以设置手机静止和震动的时长,奇数位置代表手机静止的时长,                    //偶数位置代表手机震动的时长,以此类推这里表示静止0秒,然后震动1秒然后静止1秒,再震动1秒

                   .build();//通知创建

3、setLights方法

设置手机LED灯的闪烁

Notificationnotification2=newNotificationCompat.Builder(mContext)

                    ...........//省略其他属性

                    .setLights(Color.GREEN,3000,1000)//设置闪烁灯的颜色,3000LED亮起时间,1000LED暗淡的时间

                    .build();//通知创建

4、setDefault方法

进行默认设置 ,会根据手机环境来确定播放什么铃声和如何震动等:

Notificationnotification2=newNotificationCompat.Builder(mContext)

                       ...........//省略其他属性

                       .setDefaults(android.support.v4.app.NotificationCompat.DEFAULT_ALL)

                       .build();//通知创建

5、setStyle方法

设置构建富文本内容的通知,比如长文字、大图片等

1.5.1大文字,这个最多5*1024个字符,给setStyle方法传入BigTextStyle对象。

Notificationnotification2=newNotificationCompat.Builder(mContext)

                    ...........//省略其他属性

                     .setStyle(newNotificationCompat.BigTextStyle().bigText("上周我带着两个第一次来北京的姑娘去三里屯,她们一走进太古里,就睁大眼睛环顾周围的一切。这里汇聚着整个北京城最时尚的男男女女,街拍摄影师扎堆在优衣库旁边的夹道上等待猎物,village里遍布着国际二线奢侈品牌和潮牌京城首店,全世界的美食和网红餐厅几乎都能找到。\n"+

"\n"+"因为紧挨着使馆区和外交公寓,三里屯是外国人高度活跃的区域,有时候,你走在人群中,听着各种语言此消彼长,不禁会产生一种幻觉:东京的涩谷、纽约的曼哈顿、伦敦的Shoreditch,又和此刻的三里屯有什么区别呢?\n"+"\n"+"全世界的大都会的时髦之地,都拥有一样的魔幻现实主义。\n"+"\n"+"不过,三里屯最有趣的故事,永远都不会发生在阳光下,暴涨的欲望潮水只会在夜里淹没每一座城池。如果你看过酒吧里男女的炽热,就能理解曾风极一时的优衣库试衣间事件,不过是一次冲动作祟的,光天化日下的擦枪走火,而在三里屯的夜里,性,是公认的、粗暴的主题之一。\n"+"\n"+"以及,酒精、钱、众生相,这些也是不夜屯想要展示给你的浮世绘画面。\n"+"\n"+"作者:知枝同学\n"+"链接:http://www.jianshu.com/p/49fd520e569c\n"+"來源:简书\n"+"著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。"))

                     .build();//通知创建


Notification的使用(二)
设置了长文字和没有设置的区别

1.5.2大图片,还可以给图片添加一个短小的简介文字,给setStyle方法传入BigPictureStyle对象。


Notificationnotification4=newNotificationCompat.Builder(mContext)

              ...........//省略其他属性

              .setStyle(newNotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(

                                   getResources(),R.mipmap.big_picture)).setSummaryText("这是大图哟"))

             . build();//通知创建


Notification的使用(二)
大图和文字介绍

6、setPriority方法

设置通知的重要程度,有5个常量选择 PRIORITY_DEFAULT=0,默认值;PRIORITY_LOW=-1,;PRIORITY_MIN= -2;

PRIORITY_HIGH=1;PRIORITY_MAX=2;值越大重要程度越高,值越小重要程度越低。

Notificationnotification4=newNotificationCompat.Builder(mContext)

                   ...... 其他属性

                  .setPriority(NotificationCompat.PRIORITY_DEFAULT)

                 .build();//通知创建