object NotificationUtils {
private var manager: NotificationManager?=null
private lateinit var notification: Notification
private lateinit var pendingIntent: PendingIntent
fun showNotification(activity: Activity,contentTitle:String,contentText :String) {
if (manager==null){
manager = activity.getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
}
//对手机系统版本进行一个判断,只有Android8.0以上才创建
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
//这个时候我就去创建一个NotificationChannel
//NotificationChannel里面有三个参数,第一id要和Notification的一致,第二个就是他的名字,可以随意设置,第三个是重要程度,需要通过NotificationManager类来设置
val channel = NotificationChannel("wang", "测试通知", NotificationManager.IMPORTANCE_HIGH)
//我们创建完使用的时候,需要用Notification通知管理类把它放进去
manager?.createNotificationChannel(channel)
}
pendingIntent = PendingIntent.getActivity(activity, 0, Intent(), 0)
notification = NotificationCompat.Builder(activity, "wang")
.setContentTitle(contentTitle)
.setContentText(contentText) //通知图标应该使用纯色的图片,因为Android从5.0系统开始,对于图标设计进行了修改,所有应用程序
//的通知栏图标,应该使用alpha图层,其实就是没有颜色的图片
.setSmallIcon(R.mipmap.logo) //给小图标设置颜色
.setColor(Color.parseColor("#ff0000")) //设置大图标
.setLargeIcon(BitmapFactory.decodeResource(activity.resources, R.mipmap.logo)) //点击通知时跳转
.setContentIntent(pendingIntent) //设置点击通知后清除通知
.setAutoCancel(true) //设置通知被创建的时间 不设置的话就显示的是当前系统时间
// .setWhen()
.build()
//发送通知
manager?.notify(1,notification);
}
}
安卓通知。横幅通知 工具类 NotificationUtils
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 通常我们在开发即时通讯App时,在Android 8.0以上的悬浮通知(横幅通知)无法显示,只能在通知栏里看到。为...
- 关闭充电提示音的通知横幅 iPhone用快捷指令来设置iOS充电提示音这两天火爆全网络(点我查看最简单的教程)[h...