android增添通知到顶部任务栏
android添加通知到顶部任务栏
public class NotificationtestActivity extends Activity { private static final int ID = 1213; private static final String KEY_COUNT="keyCount"; private int count; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent=this.getIntent(); count=intent.getIntExtra(KEY_COUNT,0); this.setTitle("这是第"+Integer.toString(count)+"个"); Button btn=(Button) this.findViewById(R.id.button1); btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AddNotification(); NotificationtestActivity.this.finish(); } }); } /** * 添加顶部通知 * @author liuzhao */ public void AddNotification(){ count++; //添加通知到顶部任务栏 //获得NotificationManager实例 String service = NOTIFICATION_SERVICE; NotificationManager nm = (NotificationManager)getSystemService(service); //实例化Notification Notification n = new Notification(); //设置显示图标 int icon = R.drawable.icon; //设置提示信息 String tickerText ="我的程序"; //显示时间 long when = System.currentTimeMillis(); n.icon = icon; n.tickerText = tickerText; n.when = when; //显示在“正在进行中” // n.flags = Notification.FLAG_ONGOING_EVENT; n.flags|=Notification.FLAG_AUTO_CANCEL; //自动终止 //实例化Intent Intent it = new Intent(this,NotificationtestActivity.class); it.putExtra(KEY_COUNT, count); /********************* *获得PendingIntent *FLAG_CANCEL_CURRENT: * 如果当前系统中已经存在一个相同的PendingIntent对象, * 那么就将先将已有的PendingIntent取消,然后重新生成一个PendingIntent对象。 *FLAG_NO_CREATE: * 如果当前系统中不存在相同的PendingIntent对象, * 系统将不会创建该PendingIntent对象而是直接返回null。 *FLAG_ONE_SHOT: * 该PendingIntent只作用一次, * 如果该PendingIntent对象已经触发过一次, * 那么下次再获取该PendingIntent并且再触发时, * 系统将会返回一个SendIntentException,在使用这个标志的时候一定要注意哦。 *FLAG_UPDATE_CURRENT: * 如果系统中已存在该PendingIntent对象, * 那么系统将保留该PendingIntent对象, * 但是会使用新的Intent来更新之前PendingIntent中的Intent对象数据, * 例如更新Intent中的Extras。这个非常有用, * 例如之前提到的,我们需要在每次更新之后更新Intent中的Extras数据, * 达到在不同时机传递给MainActivity不同的参数,实现不同的效果。 *********************/ PendingIntent pi = PendingIntent.getActivity(this, 0, it, PendingIntent.FLAG_UPDATE_CURRENT); //设置事件信息,显示在拉开的里面 n.setLatestEventInfo(NotificationtestActivity.this,"我的软件"+Integer.toString(count), "我的软件正在运行……", pi); //发出通知 nm.notify(ID,n); } }