第一步:得到NotificationManager
NotificationManager notificationManager=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
第二步:创建一个新的Notification对象
int icon =R.drawable.notification_icon;//通知图标
CharSequence tickerText="hello";//状态栏显示的通知文本提示
long when=System.currentTimeMillis();//通知产生的时间
Notification notification=new Notification(icon,tickerText,when);
第三步:设置Notification的属性
Context context=getApplicationContext();
CharSequence contentTitle="My notification";
CharSequence contentText="hello world";
Intent notificationIntent = new Intent(this,MyClass.class);
PendingIntent contentIntent=PendingIntent.getActivity(this,0,notificationIntent,0);
notification.setLatestEventInfo(context,contentTitle,contentText,contentIntent);
第四步:发送通知
private static final int ID_NOTIFICATION=1;
notificationManager.notify(ID_ONTIFICATION,notification);
Notification的手机提示方式有如下四种:
(1)在状态栏显示文本通知
notification.tickertext="hello";
(2) 发出提示音
notification.defaults|=Notification.DEFAULT_SOUND;
notification.sound=Uri.parse("file:///sdcard/notification/*.mp3");
notification.sound=Uri.withAppendedpath(Audio.Media.INTERNAL_CONTENT_URI,"6");
(3)震动提示
notification.defaults|=Notification.DEFAULT_VIBRATE;
long[] vibrate={1,100,200,300};
notification.vibrate=vibrate;
(4)led灯提示
notification.defaults|=Notification.DEFAULT_LIGHTS;
notification.ledRRGB=0xff00ff00;
notification.ledOnMS=300;
notification.ledOffMS=1000;
notification.flags|=Notification.FLAG_SHOW_LIGHTS;
Notification如果需要更新一个通知,只需要在设置好Notification之后再调用setLatestEventInfo,然后重新发送一次通知即可。