android添加通知到頂部任務欄

[java]
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); 
      www.aiwalls.com
        //發出通知 
        nm.notify(ID,n); 
    } 

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *