Notification通知的简介和简单用法

	通知类型
	1.普通通知
	2.列表通知
	3.大图通知
	4.进度条通知
	5.自定义通知

普通通知

在这里插入图片描述

// 普通通知
private void normal() {

//获取通知管理者
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//获取通知构建者对象
        Notification.Builder builder = new Notification.Builder(this);
        //给通知设置小图标
        builder.setSmallIcon(R.drawable.ic_launcher_background);
        Bitmap bitmap = BitmapFactory.decodeResource(getResources(),R.drawable.ic_launcher_background);
        //给通知设置
        builder.setLargeIcon(bitmap);
        builder.setTicker("你收到一条短信息请注意查收");
        builder.setContentTitle("短信");
        builder.setContentText("你好我是短信息");
        builder.setContentInfo("我是附加消息");
        //设置效果
        builder.setDefaults(Notification.DEFAULT_ALL);
        builder.setAutoCancel(true);
        Notification build = builder.build();
         //发送通知
        //参数一 id 通知的id   参数二 通知对象
        manager.notify(1, build);
    }

列表通知

在这里插入图片描述

// 列表通知
private void list() {
//获取通知管理者
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //获取通知构建者对象
        Notification.Builder builder = new Notification.Builder(this);
//设置通知
        builder.setSmallIcon(R.mipmap.ee);
        builder.setContentTitle("我是列表数据");
        builder.setContentText("123132");
//设置样式 inboxstyle是列表样式
        Notification.InboxStyle style = new Notification.InboxStyle();
//给样式设置内容
        style.addLine("我是第一行");
        style.addLine("我是第二行");
        style.addLine("我是第三行");
        style.addLine("我是第四行");
        //给通知构建者设置style样式
        builder.setStyle(style);
        manager.notify(5, builder.build());
    }

大图通知

在这里插入图片描述

// 用法和列表通知一样 只是样式不一样
 private void big() {
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        Notification.Builder builder = new Notification.Builder(this);

        builder.setSmallIcon(R.mipmap.ee);
        builder.setContentTitle("我是大图数据");
        builder.setContentText("123132");

//大图样式
        Notification.BigPictureStyle style = new Notification.BigPictureStyle();

//给大图通知添加图片
        style.bigPicture(BitmapFactory.decodeResource(getResources(), R.mipmap.u));


        builder.setStyle(style);

        manager.notify(5, builder.build());


    }

进度条通知

在这里插入图片描述

在这里插入图片描述

// 水平通知
 private void progess() {
        final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        final Notification.Builder builder = new Notification.Builder(this);

        builder.setSmallIcon(R.mipmap.ee);
        builder.setContentTitle("我是水平通知");
        builder.setContentText("123132");
          //参数一 最大值 参数二:当前进度 参数三 是否模糊
        builder.setProgress(100, progress, false);
//一个定时任务 
        CountDownTimer countDownTimer = new CountDownTimer(11000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                progress += 10;
                  //参数一 最大值 参数二:当前进度 参数三 是否模糊
                builder.setProgress(100, progress, false);
                manager.notify(3, builder.build());
            }

            @Override
            public void onFinish() {
     //  进度结束关闭通知     manager.cancel(3);
            }
        }.start();

        manager.notify(3, builder.build());

    }

自定义通知

在这里插入图片描述

// 自定义通知
    private void customer() {
//获取通知管理者
        NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
        //创建通知构建者
        Notification.Builder builder = new Notification.Builder(this);
        builder.setSmallIcon(R.mipmap.ee);
        builder.setContentTitle("我是自定义通知的标题");
        builder.setContentText("123132");
        //设置自定义布局:
        RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.sim);
        //给文本设置文字
        remoteViews.setTextViewText(R.id.textnotification, "我是自定义通知的文本");
        //给图片设置图片
        remoteViews.setImageViewResource(R.id.imgnotification, R.mipmap.u);

        builder.setContent(remoteViews);
        Intent intent = new Intent(MainActivity.this, Main2Activity.class);
    //Intent对象转成PendingIntent
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 200, intent, PendingIntent.FLAG_ONE_SHOT);

//点击跳转实现点击通知跳转页面
        builder.setContentIntent(pendingIntent);
//   设置悬浮通知悬浮效果如下图     builder.setFullScreenIntent(pendingIntent, true);

        manager.notify(2, builder.build());
    }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值