Notification通知常用方法
普通通知栏
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification.Builder builder=new Notification.Builder(Main3Activity.this);
builder.setSmallIcon(R.mipmap.icon_test); //设置小图 *(加星号表示必须设置)
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.xiaoxi);
builder.setLargeIcon(bitmap); //设置大图
builder.setContentTitle("震惊!");//设置标题 *
builder.setContentText("北京一所学校竟然...");//设置内容 *
builder.setAutoCancel(true); //设置点击是否关闭
builder.setDefaults(Notification.DEFAULT_ALL); //设置效果 震动、呼吸灯、铃声等
Notification build = builder.build(); //构建
manager.notify(1,build);
效果:
进度条通知栏
final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
final Notification.Builder builder=new Notification.Builder(Main3Activity.this);
builder.setSmallIcon(R.mipmap.icon_test);
builder.setContentTitle("震惊!");
builder.setProgress(100,0,false);
//可用Timer类,根据自己喜好选择
CountDownTimer countDownTimer = new CountDownTimer(11000, 1000) {
int p=0;
@Override
public void onTick(long millisUntilFinished) {
p+=10;
//第一个参数:进度条最大值 第二个参数:当前进度 第三个参数:是否模糊显示
builder.setProgress(100,p,false); //设置进度条进度
manager.notify(6,builder.build()); //每增加一次 调用一次notify 相当于重新构建
}
@Override
public void onFinish() {
}
}.start();
Notification build = builder.build();
manager.notify(6,build);
效果:
跳转方法
//在代码中添加下列代码 即可完成跳转操作
//创建Intent对象
Intent intent = new Intent(this, Main3Activity.class);
//Intent对象转成PendingIntent
PendingIntent activity = PendingIntent.getActivity(this, 100, intent, PendingIntent.FLAG_ONE_SHOT);
//设置跳转
builder.setContentIntent(activity);
大视图
//直接new出来 并赋值 通过setStyle方法设置即可
Notification.BigPictureStyle bigPictureStyle = new Notification.BigPictureStyle();
bigPictureStyle.bigPicture(BitmapFactory.decodeResource(getResources(),R.drawable.tp_01));
builder.setStyle(bigPictureStyle);
效果:
列表通知
Notification.InboxStyle style=new Notification.InboxStyle();
style.addLine("北京男子地铁站行骗");
style.addLine("上海老太太碰瓷");
style.addLine("日本地震11.5级");
builder.setStyle(style);
效果: