Android Notificatin 通知
2020-01-01 本文已影响0人
NullPoint3Exce
通知的简单使用
1-通知渠道:android 8.0 必须设置通知渠道,否则通知不会显示。
2-通知图标问题:android 5.0 谷歌为了统一风格,统一使用背景为透明(经测试单色的图片也可以)的图标,否则显示一个白色图标。如图
image.png
3-使用背景色为透明的图片,最终效果为:
元素图 最终效果图
注意状态栏图片的颜色,还是白色,但是图片图案是正常的。
这是什么问题呢?查看源码,发现是官方故意做的。想了解的同学可以去查看官方代码,这里不做介绍。
4-普通的通知三要素:小图标 标题 内容
// 获取通知的管理器
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// android 8.0 以上才有 通知渠道
if (Build.VERSION.SDK_INT>= 26){
NotificationChannel notificationChannel = new NotificationChannel("id", "unKnowName", NotificationManager.IMPORTANCE_DEFAULT);
// 设置灯的颜色
notificationChannel.setLightColor(Color.RED);
// 开启呼吸灯
notificationChannel.enableLights(true);
// 设置角标
// notificationChannel.setShowBadge(true);
notificationChannel.setDescription("这是渠道描述");
notificationManager.createNotificationChannel(notificationChannel);
}
Intent intent = new Intent(this, MainActivity2.class);
// 延时意图
PendingIntent pendingIntent = PendingIntent.getActivity(this, 11, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// 创建通知对象
Notification notification = new NotificationCompat.Builder(this, "id")
.setSmallIcon(R.drawable.zfb)
.setContentTitle("HHHHHHHHHHH")
.setContentText("GGGGGGGGGGGGGGGGGGGGG")
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.build();
// 发送通知对象
notificationManager.notify(111,notification);