「这是我参与2022首次更文挑战的第3天,活动详情查看:2022首次更文挑战」
前面已经介绍了,Notification 的基础使用和进阶使用,接下来我们介绍它的高阶使用
高级使用
设置富文本信息
当我们的通知需要设置很长很长的内容的时候,我们的通知界面会显示不下,最后以...结束,但是可能产品经理的需求是要全部显示完,那怎么办呢,我们就需要对setContentText()这个方法的内容做一些处理,比如设置setStyle
.setStyle(new NotificationCompat.BigTextStyle().bigText("这是一段很长的文字很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长"))
设置带有图片消息
如果我们想给通知设置一个图片的显示,那怎么做呢,其实也很简单,Notification自带的setStyle也是支持显示图片的
.setStyle(new NotificationCompat.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)))
设置完的显示效果如上,是不是很简单
这时候有人要问了,如果需求是要动态的显示网络图片,怎么办,上面的方法是设置显示的本地图片,如果是网络图片,其实也很简单,只要最终给到方法里的是一个bitmap对象就好了,那如果是网络图片,怎么处理呢,这个其实也很简单,只需要将网络图片做一个网络请求,下载到本地,然后转换成bitmap对象就好了,这个具体怎么实现,大家可以思考一下
设置通知重要程度
使用手机过程中有很多应用都会发送自己的通知,那么在通知栏怎么显示呢,所以通知在显示的时候会根据优先级自上而下的显示,如果你想自己的通知显示在最上面, 那就需要将自己的通知设置比较高的优先级,也就是重要程度
.setPriority(NotificationCompat.PRIORITY_MAX)
setPriority方法接收一个整形参数用于设置这条通知的重要程度, 有五个值可以选择
PRIORITY_DEFAULT:表示默认重要程度,和不设置效果一样
PRIORITY_MIN:表示最低的重要程度。系统只会在用户下拉状态栏的时候才会显示
PRIORITY_LOW:表示较低的重要性,系统会将这类通知缩小,或者改变显示的顺序,将排在更重要的通知之后。
PRIORITY_HIGH:表示较高的重要程度,系统可能会将这类通知方法,或改变显示顺序,比较靠前
PRIORITY_MAX:最重要的程度, 会弹出一个单独消息框,让用户做出相应。
通知还有很多其他的设置,只有在使用中才会知道有哪些属性,属性的功能是什么,没事多练练手,就会慢慢熟悉了,以上是通知的比较常用的方法,接下来,会介绍通知栏的自定义UI,以及使用方法,事件处理等