今天解bug时接触到了Notification的知识,顺便写个小程序以加深记忆,源码如下:
package com.wanghao.notification;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NotificationTest extends Activity {
private Button send;
private Button cancel;
private NotificationManager nm;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
send = (Button)findViewById(R.id.send);
cancel = (Button)findViewById(R.id.cancel);
send.setText("send notification");
cancel.setText("cancel notification");
nm = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
send.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//创建Notification
Notification notification = new Notification();
notification.icon = R.drawable.ic_launcher;
notification.when = System.currentTimeMillis();
notification.tickerText = "test";
notification.defaults = Notification.DEFAULT_ALL;
Intent intent = new Intent(NotificationTest.this, NotificationTest.class);
PendingIntent pi= PendingIntent.getActivity(NotificationTest.this, 0, intent, 0);
//更新Notification,主要是设置contentView属性
notification.setLatestEventInfo(NotificationTest.this, "title", "context", pi);
nm.notify(9, notification);
}});
cancel.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
//删除Notification
nm.cancel(9);
}});
}
}
再推荐一篇关于Notification的文章:http://www.oschina.net/question/234345_40111。