android添加通知到顶部任务栏

jopen 13年前

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);      }  }