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);  

效果:
Notification通知常用方法

进度条通知栏

 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);

效果:
Notification通知常用方法

跳转方法

//在代码中添加下列代码  即可完成跳转操作

		//创建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通知常用方法

列表通知

		 Notification.InboxStyle style=new Notification.InboxStyle();
        style.addLine("北京男子地铁站行骗");
        style.addLine("上海老太太碰瓷");
        style.addLine("日本地震11.5级");
        builder.setStyle(style);

效果:
Notification通知常用方法