notification 全解和 api 的二次封装

分类

Paste_Image.png

相关属性

显示相关

Paste_Image.png

标识符flag

Paste_Image.png

优先级

Paste_Image.png

提醒方式

Paste_Image.png

事件(PeddingIntent)

Paste_Image.png

返回activity栈

参考gold.xitu.io/post/586326…javascript

7.0新功能

Paste_Image.png

二次封装后的api

第一步:java

buildSimple(int id,int icon,CharSequence contentTitle ,CharSequence contentText,PendingIntent contentIntent)

buildProgress(int id,int icon,CharSequence contentTitle,int progress,int max)

 buildBigPic(int id,int icon,CharSequence contentTitle,CharSequence contentText,CharSequence summaryText)

 buildBigText(int id,int icon,CharSequence contentTitle,CharSequence contentText)

 buildMailBox(int id,int icon,CharSequence contentTitle)

// buildMedia(int id,int icon,CharSequence contentTitle,CharSequence contentText)//todo 复制代码

第二步:其余可选设置git

设置三类intent:
setContentIntent(PendingIntent contentIntent)
setDeleteIntent(PendingIntent deleteIntent)
setFullScreenIntent(PendingIntent fullscreenIntent)

添加按钮:
addBtn(int icon,CharSequence text,PendingIntent pendingIntent)
开启head-up模式
setHeadup()
//提示语,默认为"您有新的消息"
setTicker(CharSequence ticker)
//大小图标
setSamllIcon(int smallIcon)
setBigIcon(int bigIcon)
//优先级,默认为default
setPriority(int priority)
//设置成为不可删除
setOnGoing()
//提示模式:默认状况下只有呼吸灯提示
setAction(boolean sound, boolean vibrate, boolean lights)
//设置为前台服务的notification
setForgroundService() 
//锁屏显示的控制(默认不显示)
setLockScreenVisiablity(int lockScreenVisiablity)
  VISIBILITY_PRIVATE : 显示基本信息,如通知的图标,但隐藏通知的所有内容 
  VISIBILITY_PUBLIC : 显示通知的所有内容 
  VISIBILITY_SECRET : 不显示任何内容,包括图标复制代码

第三步github

.show()复制代码

取消api

cancel(int id)
cancelAll()复制代码

示例代码

NotifyUtil.buildSimple(100,R.mipmap.ic_launcher,"标题标题标题图表题滴滴滴","哈哈哈哈哈哈哈呼呼呼呼呼呼",null)
                        .setHeadup()
                        .addBtn(R.mipmap.ic_launcher,"left", NotifyUtil.buildIntent(MainActivity.class))
                        .addBtn(R.mipmap.ic_launcher,"rightdd", NotifyUtil.buildIntent(MainActivity.class))
                        .show();

NotifyUtil.buildBigPic(101,R.drawable.timg,"title","content","summmaujds")
                        .setPicRes(R.drawable.timg2)
                        .show();

 NotifyUtil.buildProgress(102,R.mipmap.ic_launcher,"正在下载",progresses,100).show();

 NotifyUtil.buildMailBox(104,R.drawable.timg,"title")
                        .addMsg("11111111111")
                        .addMsg("33333333333333")
                        .addMsg("6666666666666666666")
                        .show();

NotifyUtil.buildBigText(103,R.drawable.timg,"jtitle","我学习最快的方法就是先看效果," +
                        "再想原理最后,将它实现。效果是最直观的,并且可以有效的判断所学的东西是否是想要的。" +
                        "如今网上的资料实在太杂,不少花了不少时间去研究,最后发现坑爹了,不是想要的。" +
                        "这篇文章首先会介绍能实现的主要功能。而后是解决问题的基本思想,接着是具体的一些实现。" +
                        "本篇文章和之前的风格有所不一样,之前都是文章中代码比较少,附上demo,但发现这样可能不方便读者," +
                        "因此采用了实现效果以及主要代码的形式。这种方式如今还在测试阶段,若是以为之前的模式比较" +
                        "好或者其余更好的方式的话能够給我留言,之后的文章会作出相应的调整 。").show();复制代码

代码

github.com/hss01248/No…post

感谢

详细分类: gold.xitu.io/post/586326…
7.0新特性:www.jianshu.com/p/33e84d5cb…
每种类型都有很全的示例代码:blog.csdn.net/w804518214/…学习

相关文章
相关标签/搜索