Notification是显示在手机状态栏的通知
通过Notification.Builder类创建Notification对象。
Notification.Builder经常用法:
setDefaults ():设置通知LED灯、音乐、振动等
setAutoCancle():设置点击通知后,状态栏自己主动删除通知
setContentTitle():设置通知标题
setContentText():设置通知内容
setSmallcon():设置小图标
setLargecon():设置大图标
setTick():设置通知在状态栏的提示为本
setContentIntent ():设置点击通知后将要启动的程序组件相应的PendingIntent
setWhen ():设置通知公布的时间
步骤:
1.调用getSystemService(NOTIFICATION_SERVICE)方法获取系统的NotificationManager方法
manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
2.创建一个Notification.Builder对象
Notification.Builder builder = new Notification.Builder(MainActivity.this);
3.为builder设置各种属性
4.创建一个Notification对象
Notification notification = builder.build();
5.通过NotificationManager的notify方法发送Notification
manager.notify(ID, notification);
Demo:
Activity:
public class MainActivity extends Activity { Button send, del;
NotificationManager manager;
int ID = 0x123; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); send = (Button) findViewById(R.id.send);
del = (Button) findViewById(R.id.del); manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); send.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { Intent intent = new Intent(MainActivity.this, other.class);
PendingIntent pi = PendingIntent.getActivity(MainActivity.this,
0, intent, 0); Notification.Builder builder = new Notification.Builder(
MainActivity.this);
builder
// Notification notification = new
// Notification.Builder(MainActivity.this) // 设置打开通知,该通知取消
.setAutoCancel(true)
// 设置通知提示信息
.setTicker("有新消息")
// 设置通知的图标
.setSmallIcon(R.drawable.pig)
// 设置通知的标题
.setContentTitle("不好了。!!")
// 设置通知的内容
.setContentText("你家猪跑了")
// 设置使用系统默认的声音、LED
.setDefaults(
Notification.DEFAULT_LIGHTS
| Notification.DEFAULT_SOUND)
// 设置通知公布时间
.setWhen(System.currentTimeMillis())
// 设置将要启动的活动
.setContentIntent(pi).build(); Notification notification = builder.build(); manager.notify(ID, notification); }
}); del.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) {
manager.cancel(ID);
}
});
}
}
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMzQ3NjU1Ng==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">
点击发送通知:
点击该通知会跳转到还有一个活动: