今天看啥  ›  专栏  ›  感召的鳞

android中notification的用法(简单易懂用法)

感召的鳞  · 简书  ·  · 2019-07-14 20:22

首先解释一下notification的应用场景,一般我们手机来短息的时候在手机的上方都会弹出一个通知,你可以下拉上方的菜单看详细信息,点击这个通知就会跳转得到相应的短信界面,那么怎么实现的呢我们直接上代码解释,notification有三种创造方式

方法一:(已经被舍弃,但是通用)

//首先我们要获得一个通知管理器 NotificationManager,是一个系统的service
Notification manager =(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
//PendingIntent作用类似于intent不同的是不是立刻执行,而是等通知被点击以后执行
PendingIntent PendingIntent=PendingIntent.getActivity(this,0,newIntent(this,MainActivity),0);
Notification notify = new Notification();
notify.icon=R.drawable.message; //设置显示的图片
notify.tickerText="你有新消息";  //设置通知提示的标题
notify.when=System.CurrentTimeMills();//设置通知显示时间,这里获取系统时间
notify.setLatestEventInfo(this,"notification Title","this is a message",pendingIntet)
//设置拉开菜单后,通知显示的标题,内容,点击后触发的事件
notify.number=1;        //如果同一个通知发送多条可以用这个区分
notify.flags|=Notification.FLAG_AUTO_CANCEL//通知点击后自动消失
manager.notify(FlAG_ID,notify);//通过menager发送通知,FLAG_ID是通知的id,自己定义

方法二:(该方法在API11以后才使用)

//通过Builer来创建
Notification notify = new Notification.Builder(this)
    .setSmallIcon(R.drawable.message)//设置小图,大图用setLargeIcon设置
    .setTiker("Ticker Text")
    .setContenTitle("拉开后标题")
    .setContentText("拉开后内容")
    .setContentIntent(pandingIntent)//点击后触发的事件
    .setNumber(1)//如果同一个通知发送多条可以用这个区分
    .getNotification();//获取通知对象
notify.flags|=Notification.FLAG_AUTO_CANCEL//通知点击后自动消失
manager.notify(FlAG_ID,notify);//通过menager发送通知,FLAG_ID是通知的id,自己定义

创建方法三:(该方法是API16以后才支持的)

//通过Builer来创建
Notification notify = new Notification.Builder(this)
    .setSmallIcon(R.drawable.message)//设置小图,大图用setLargeIcon设置
    .setTiker("Ticker Text")
    .setContenTitle("拉开后标题")
    .setContentText("拉开后内容")
    .setContentIntent(pandingIntent)//点击后触发的事件
    .setNumber(1)//如果同一个通知发送多条可以用这个区分
    .build();//获取通知对象
notify.flags|=Notification.FLAG_AUTO_CANCEL//通知点击后自动消失
manager.notify(FlAG_ID,notify);//通过menager发送通知,FLAG_ID是通知的id,自己定义

写文章不易,路过的伙伴辛苦点个赞,谢谢支持!




原文地址:访问原文地址
快照地址: 访问文章快照