Android--Notification通知栏的使用

一、前言

在日常的Andorid开发当中,Notification是很常用的,比如我们接收到短信信息,接收客户端App推送信息等等...这时候就会在手机顶部通知栏的地方弹出一条信息提示我们。它的作用一般可用于:显示接收到短信信息消息、显示第三方推送或者服务器传递过来的信息等等...


二、概述

Notification支持文字内容显示、震动三色灯铃声等多种提示形式,三色灯不建议使用,因为现在这个的需求相对还是比较少的,其实主要就是适配起来也是非常难的,大家有知道,毕竟安卓手机那么多,这里我就不多说了、我们一般在日常开发当中,建议采用的是默认情况下,也就是使用Notification来显示消息标题消息内容送达时间这3项内容就好。因为这个比较符合普通一般的需求,所以我个人比较建议。下面看看通知的基本布局。


这个基本布局图是我从别人博客拿过来的是为了大家方便,下面让我们来一起看看通用的Notification布局一般元素分别有哪些?

1. 标题   Title/Name

2大图标  Icon/Photo

3内容文字   

4内容信息   MESSAGE

5小图标 Secondary Icon

6通知的时间 Timestamp,默认为系统发出通知的时间,也可通过setWhen()来设置

这里需要注意的是,在大图标icon当中,不同分辨率设备中,存放的icon图片需要我们去考虑,因为,过大icon图片或者过小的icon图片,可能会造成Notification显示icon的时候被切图等等,具体适配icon方案可自行百度。


三、使用分析

状态通知栏主要涉及到2个类:  Notification 和 NotificationManager 

Notification 是通知信息类,可以在里面设置一些属性和信息等等

NotificationManager  是状态通知的管理类,负责发通知、清除通知等操作。


四、基本用法

在这里,主要分为四步走!

第一步、获取NotificationManager 状态栏通知管理器,代码如下

NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);


第二步、实例化通知栏构造器

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);  


第三步、实例化通知栏构造器好了之后,我们构造器对象mBuilder进行标题、内容、属性等等进行设置

mBuilder.setContentTitle("标题")//设置通知栏标题
                .setContentText("内容") //设置通知栏显示内容
                .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL)) //设置通知栏点击意图
                .setWhen(System.currentTimeMillis())//通知产生的时间,这里是获取当前系统时间
                .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
                .setDefaults(Notification.DEFAULT_VIBRATE)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                .setAutoCancel(true)
                .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON

第四步、发送请求通知

mNotificationManager.notify(0, mBuilder.build());  


这样,我们就能创建出一个常用的默认系统Nofitication通知栏出来了,这个虽然是日常开发中常见的,但是大家有时候会发现有更多的需求,比如接收到消息之后,我们还要给用户给予震动的提示、声音提示等等,这时候就涉及到了通知栏构造器的更多方法了。下面我将罗列出来。这里我们用到NotificationCompat构造器,所以我们就通过NotificationCompat这个构造器来调用方法。


五、NotificationCompat构造器常用方法

方法1、setDefaults(int defaults)

功能:向通知添加声音、闪灯和振动效果的

对应属性:

Notification.DEFAULT_VIBRATE    //添加默认震动提醒  需要注意的是:如果用到这个震动提醒,我们需要在清单文件中加入VIBRATE permission

Notification.DEFAULT_SOUND     // 添加默认声音提醒

Notification.DEFAULT_LIGHTS      // 添加默认三色灯提醒

Notification.DEFAULT_ALL          // 添加默认以上3种全部提醒

比如我们想添加默认声音提醒,可以这样写

.setDefaults(Notification.DEFAULT_SOUND)


方法2、setVibrate(long[] pattern)
功能:设置震动的方式间隔时间,这里参数传递是一个长整数的数组,说明我们需要传递多个参数
虽然这个需求是很少见的,但是我们还可以先了解下
比如我们想要实现效果:首先从0ms开始,然后振动500ms,再延迟1000ms,接着再振动1500ms。可以这样写
.setVibrate(new long[]{0,500,1000,1500});

方法3、setSound(Uri sound)
功能:用来设置自定义提醒声音,就像我们手机短信来的时候,那个自定义的声音一样。所以我们还可以用这个给通知栏传递自定义声音,在这里我们只需要传递一个url即可
基本用法:
.setSound(Uri.parse("file:///sdcard/xx/xx.mp3"))  
在这里,我们指定了sd卡上面的一个mp3文件,具体的话可自行设定。

今天的Nitification通知栏基本用法和构造器常用方法讲到这里,希望对大家能有所帮助!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值