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(this0, it, PendingIntent.FLAG_UPDATE_CURRENT);                      //设置事件信息,显示在拉开的里面            n.setLatestEventInfo(NotificationtestActivity.this,"我的软件"+Integer.toString(count), "我的软件正在运行……", pi);                   //发出通知            nm.notify(ID,n);       }   }    

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fbbf0f238532f37fc7d7f3c0fb7a420b.html