设置通知Notification的使用
private void Notification() {
Notification.Builder builder=null;
NotificationManager manager=null;
manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
builder = new Notification.Builder(this);
builder.setContentTitle("标题");//通知的标题标题
builder.setContentText("正文内容");//通知的文本内容
builder.setWhen(System.currentTimeMillis());//指定通知被创建的时间 long类型
builder.setSmallIcon(R.drawable.ic_launcher_background);//设置通知的小图标
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_foreground));//设置通知的大图标
Intent intent = new Intent(MainActivity.this, Temo.class);//获取Intent对象class
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);//设置点击跳转页面
builder.setContentIntent(pendingIntent);
builder.setAutoCancel(true);//点击关闭通知栏
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
builder.setPriority(Notification.PRIORITY_MAX);//设置重要程度
}
builder.setDefaults(Notification.DEFAULT_ALL);//默认震动或默认音响
builder.setLights(Color.RED,1000,1000);//设置LED灯,第一个参数:LED灯的颜色,第二个参数:指定LED灯亮起的时长,第三个参数:拥有指定LED灯暗去的时长
Notification build = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
build = builder.build();//获取Notification对象
}
manager.notify(1, build);//让通知栏显示出来,第一个参数:保证每个通知所指定的id不一致,第二个参数:Notification对象
}
Notification也允许我们构建富文本的通知内容,一般我们的正文长的时候会用…表示,当我们使用富文本来构建通知栏的时候则会全部显示完整内容,我们也还可以用的显示大图片,setStyle()方法
//显示完整内容
builder.setStyle(new Notification.BigTextStyle()
.bigText("Notification也允许我们构建富文本的通知内容,一般我们的正文长的时候会用...表示,当我们使用富文本来构建通知栏的时候则会全部显示出来,我们也还可以用的显示图片"));
//显示大图片
builder.setStyle(new Notification.BigPictureStyle().bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher_foreground)));
/**
*以此类推,最后在提示一下setPriority这个方法,
* 设置为通知的重要程度,
* PRIORITY_MAX:最高程度,这类消息必须要让用户立即看到,即使做出响应
* PRIORITY_HIGH:表示较高的重要程度,可能系统会将这类通知放大,或改变其显示的顺序,将其放在最靠前的位置
* PRIORITY_MIN:最低的重要程度,系统可能只会在特定的场景才会显示这条通知
* PRIORITY_LOW:表示较低的重要程度,系统可能会将这类通知消息缩小
*/
builder.setPriority(Notification.PRIORITY_MAX);//设置重要程度