【第一行代码】NotificationTest

简介

通知 (Notification) 提供应用程序希望向用户发出一些提示信息,而该程序又不在前台运行时,就可以借助通知来实现。

发出一条通知后,手机最上方的状态中会显示一个通知的图标,下拉状态栏就可以看到通知的详细内容。

通知的基本用法

获取 NotificationManager

NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
NotificationChannel mChannel = new NotificationChannel("id", "name", NotificationManager.IMPORTANCE_LOW);
manager.createNotificationChannel(mChannel);

使用 Builder 构造器创建 Notification 对象

借助 support-v4 库中的 NotificationCompat 类。

//添加点击事件
Intent intent = new Intent(this, NotificationActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, 0);

Notification notification = new NotificationCompat.Builder(this, mChannel.getId())
        .setContentTitle("This is content title")//设置标题
        .setContentText("This is content text")//设置内容
        .setWhen(System.currentTimeMillis())//设置被创建的时间
        .setSmallIcon(R.mipmap.ic_launcher)//设置通知的小图标
        .setLargeIcon(BitmapFactory.decodeResource(
                getResources(), R.mipmap.ic_launcher))//设置大图标,下拉的时候会看到
        .setContentIntent(pendingIntent) //点击事件,表示点击通知后会执行的动作
        .setAutoCancel(true) //点击时通知消失
//      设置通知的重要程度
        .setPriority(NotificationCompat.PRIORITY_MAX)
//      设置通知音频
//      .setSound(Uri.fromFile(new File("绝对路径")))
//      设置手机振动 数组下标为0 2 4 ...表示静止时间ms 下标为1 3 5...表示振动时间
//      例子表示为收到通知立刻振动1s静止1s然后再振动1s
//      控制手机振动需要声明权限 <uses-permission android:name="android.permission.VIBRATE"/>
//      .setVibrate(new long[]{0, 1000, 1000, 1000})
//      设置LED灯,颜色 亮起的时长 暗去的时长
//      .setLights(Color.GREEN, 1000, 1000)
//      直接使用通知的默认效果
//      .setDefaults(NotificationCompat.DEFAULT_ALL)
//      设置通知长文本
//      .setStyle(new NotificationCompat.BigTextStyle().bigText(
//              "singleTask模式 每次该活动启动会检查返回栈中是否存在,如果存在,则会将直接使用改实例,并将这个活动之上的所有活动全部出栈,如果不存在则创建新活动"))
//      设置通知大图片
//      .setStyle(new NotificationCompat.BigPictureStyle().bigPicture(
//              BitmapFactory.decodeResource(getResources(), R.drawable.say)))
        .build();

利用 NotificationManager 调用 Notification

notify() 方法接受两个参数,第一个参数是 id, 用来和第二个参数 Notification 对应。

manager.notify(1, notification); //显示通知
manager.cancel(1); //利用id, 可以关闭该通知

项目源码下载

Github

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值