首先要搞明白手机顶部的那个条叫状态栏(status bar),下拉后,那一片叫 扩展状态栏(expanded status bar)。
1.第一种使用方法(API LEVEL 11以下使用这种方式(不包含11))。区别api级别是因为,一些方法已经过时。
1
2
3
4
5
6
7 |
/*构造函数 Notification(int a,String b,long c) *a 在状态栏上显示的图标id。 *b 在状态栏上显示的文字。 *c 在扩展状态栏上显示的通知产生(接收)的时间所用的时间戳.(一般采用 System.currentTimeMillis()) */ Notification notification= new
Notification(R.drawable.ic_launcher, "好久不见" ,System.currentTimeMillis()); |
1
2
3
4
5 |
//无参构造函数 Notification notification= new
Notification(); notification.icon=R.drawable.ic_launcher; //状态栏上显示的图标 notification.tickerText= "好久不见" ; //状态栏上显示的文字 notification.when=System.currentTimeMillis(); //在扩展状态栏上显示的通知产生(接收)的时间所用的时间戳 |
上面两种方式等价。
上面两种方式设置了状态栏上显示的东西,下面要设置扩展状态栏上显示的东西。
1
2
3
4
5
6
7
8
9 |
notification.setLatestEventInfo(Context a,String b, String c, PendingIntent intent); 第一个参数是上下文 第二个是扩展状态栏上第一行显示的文字 也叫contentTitle 第三个是扩展状态栏上第二航显示的文字 也叫conTentText 第四个是点击扩展状态栏时 要跳转的页面 第四个参数一般这样设置。 Intent intent= new
Intent(context,Simple. class ); intent.addFlags(Context.FLAG_ACTIVITY_NEW_TASK); PendingIntent intent=PendingIntent.getActivity(context, 0 ,intent, 0 ); |
2.第二种使用方法(API LEVEL 11 以上(包含11))
1
2
3
4
5
6
7
8 |
Notification.Builder builder= new
Notification.Builder(context); builder.setSmacllIcon(R.drawable.ic_launcher); //设置扩展状态栏的图标 builder.setContentTile( "你好" ); //扩展状态栏第一行文字 builder.setContentText( "好久不见" ); //扩展状态栏第二行文字 Notification notification=builder.build(); //以上内容必须在build()函数调用之前设置,不然没效果。 notification.icon=R.drawable.ic_launcher; //状态栏图标 notification.tickerText= "新通知" ; //状态栏文字 notification.when=System.currentTimeMillis(); //所用时间戳 |
然后notificationManager.notify(110,notification); 即可显示。
Notification在状态栏的显示 (简述),布布扣,bubuko.com
原文:http://www.cnblogs.com/answer1022/p/3586831.html