Android开发之Notification详解

原创 2015年11月20日 16:12:21

通知是Android开发中的一个重要组件,比如在移动开发中当有短信发过来或者有未接来电的时候,设备上会有相应的提示信息。这些信息一般会显示在手机的状态栏上。Android系统提供了处理通知的类,即Notification和NotificationManager。其中,Notification类表示全局效果的通知,NotificationManager类则用于发送和显示通知等具体的操作。

使用Notification和NotificationManager类发送和显示通知的具体过程大致可以分为4个主要的步骤。

1)调用getSystemService()方法,获取系统的NotificationManager通知管理类;

2)创建一个Notification类对象,同时可以为其设置各种属性;

3)为Notification类对象设置事件信息;

4)利用NotificationManager类的notify()方法来发送通知。

下面,将通过上面4个步骤创建一个通知类的实例,进行通知的从创建、显示、参数传递等相关操作。

public class MainActivity extends Activity {

private Button btn_open;//声明一个Button按钮控件,用于创建一个通知
private Button btn_close;//声明一个Button按钮控件,用于删除一个通知
private NotificationManager notificationmanager;//声明一个通知管理类对象,用于执行通知的发送和删除等操作
private int NotificationId = 0x123;//创建一个int类型变量,用于为通知定义Id属性


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//通过getSystemService()方法来实例化通知管理类对象
        notificationmanager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
        //实例化Button控件
        btn_open = (Button)findViewById(R.id.btn_open);
        btn_close = (Button)findViewById(R.id.btn_close);
        btn_open.setOnClickListener(new OnClickListener(){ //执行单击事件,创建一个通知


@SuppressWarnings("deprecation")
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
Notification notification = new Notification();//创建Notification通知对象
//为Notification设置各种属性
notification.icon = R.drawable.tb_1;//设置通知的图标
notification.tickerText = "通知"; //设置通知刚跳转时候的提醒文字
notification.when = System.currentTimeMillis();//设置通知的发送时间
notification.defaults = Notification.DEFAULT_VIBRATE;//设置发送通知时手机震动
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
PendingIntent pendingintent = PendingIntent.getActivity(MainActivity.this,
0,      //请求码
intent, 
0    //标志位
);
//执行跳转
notification.setLatestEventInfo(MainActivity.this, 
"标题", 
"提示内容", 
pendingintent);
//发送通知
notificationmanager.notify(NotificationId , notification);
}
        });
        //删除通知
        btn_close.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
notificationmanager.cancel(NotificationId);//删除Id为NotificationId的通知
}});
}
}

由于上面的注释已经做得比较全面,具体的方法就不再过多赘述。系统运行时的截图如下所示:

以上就是Android开发中Notification通知组件的基本用法,对代码感兴趣的朋友可以下载源代码:http://download.csdn.net/detail/wangzunkuan/9287059


Android开发(18)--NotiFication详解与使用

notification就是通知的意思,安卓中指通知栏,一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。 ...

Android开发之通知栏Notification详解

Notification的用法  --- 状态栏通知 发送一个状态栏通知必须的两个类:          1. NotificationManager   --- 状态栏通知的管理类,负...
  • he90227
  • he90227
  • 2014年05月16日 14:43
  • 2671

Android开发(18)--NotiFication详解与使用

otification就是通知的意思,安卓中指通知栏,一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个快讯,这时手从上方滑动状态栏就可以展开并处理这个快讯。 ...
  • ppaudio
  • ppaudio
  • 2013年07月03日 17:34
  • 392

Android开发中的Notification应用

  • 2015年11月20日 20:06
  • 3.27MB
  • 下载

Android开发&短信拦截与读取,消息通知Notification

截获系统广播,读取消息,若联系人存在于通信录中,则让消息继续传播;若属于陌生号码,则中断消息,同时把信息显示在自己的程序中。...

Android开发艺术探索<Notification使用>

Notification用来发送一个通知,作者在文中有一段代码是关于Notification的基本使用...

android开发之Notification学习笔记

今天总结了一下Notification的使用,与大家分享一下。 MainActivity.java:本文参考:http://www.jb51.net/article/36567.htm,http:/...

步步为营_Android开发课[21]_用户界面之Notification(通知栏)

Focus on technology, enjoy life!—— QQ:804212028 浏览链接:http://blog.csdn.net/y18334702058/article/det...

Android开发之自定义Notification(源代码分享)

Android的自定义notification选项我觉得限制还是挺多的,如图所示,官方API告诉我们它依然必须得设置icon,tittle,text三个选项,除此之外,还一定要设置pengdingin...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发之Notification详解
举报原因:
原因补充:

(最多只允许输入30个字)