歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Android添加通知到頂部任務欄

Android添加通知到頂部任務欄

  1. public class NotificationtestActivity extends Activity {  
  2.     private static final int ID = 1213;  
  3.     private static final String KEY_COUNT="keyCount";  
  4.     private int count;  
  5.     @Override  
  6.     public void onCreate(Bundle savedInstanceState) {  
  7.         super.onCreate(savedInstanceState);  
  8.         setContentView(R.layout.main);  
  9.         Intent intent=this.getIntent();  
  10.         count=intent.getIntExtra(KEY_COUNT,0);          
  11.          
  12.         this.setTitle("這是第"+Integer.toString(count)+"個");  
  13.           
  14.         Button btn=(Button) this.findViewById(R.id.button1);  
  15.         btn.setOnClickListener(new View.OnClickListener() {  
  16.               
  17.             @Override  
  18.             public void onClick(View v) {  
  19.                 AddNotification();  
  20.                 NotificationtestActivity.this.finish();  
  21.             }  
  22.         });  
  23.     }  
  24.     /** 
  25.     * 添加頂部通知 
  26.     * @author liuzhao 
  27.     */  
  28.     public void AddNotification(){  
  29.         count++;  
  30.         //添加通知到頂部任務欄   
  31.         //獲得NotificationManager實例   
  32.         String service = NOTIFICATION_SERVICE;  
  33.         NotificationManager nm = (NotificationManager)getSystemService(service);  
  34.         //實例化Notification   
  35.         Notification n = new Notification();  
  36.         //設置顯示圖標   
  37.         int icon = R.drawable.icon;  
  38.         //設置提示信息   
  39.         String tickerText ="我的程序";  
  40.         //顯示時間   
  41.         long when = System.currentTimeMillis();  
  42.            
  43.         n.icon = icon;  
  44.         n.tickerText = tickerText;  
  45.         n.when = when;  
  46.         //顯示在“正在進行中”   
  47.         //  n.flags = Notification.FLAG_ONGOING_EVENT;   
  48.         n.flags|=Notification.FLAG_AUTO_CANCEL; //自動終止   
  49.         //實例化Intent   
  50.         Intent it = new Intent(this,NotificationtestActivity.class);  
  51.         it.putExtra(KEY_COUNT, count);  
  52.         /********************* 
  53.          *獲得PendingIntent   
  54.          *FLAG_CANCEL_CURRENT: 
  55.          *      如果當前系統中已經存在一個相同的PendingIntent對象, 
  56.          *      那麼就將先將已有的PendingIntent取消,然後重新生成一個PendingIntent對象。  
  57.          *FLAG_NO_CREATE: 
  58.          *      如果當前系統中不存在相同的PendingIntent對象, 
  59.          *      系統將不會創建該PendingIntent對象而是直接返回null。  
  60.          *FLAG_ONE_SHOT: 
  61.          *      該PendingIntent只作用一次, 
  62.          *      如果該PendingIntent對象已經觸發過一次, 
  63.          *      那麼下次再獲取該PendingIntent並且再觸發時, 
  64.          *      系統將會返回一個SendIntentException,在使用這個標志的時候一定要注意哦。  
  65.          *FLAG_UPDATE_CURRENT: 
  66.          *      如果系統中已存在該PendingIntent對象, 
  67.          *      那麼系統將保留該PendingIntent對象, 
  68.          *      但是會使用新的Intent來更新之前PendingIntent中的Intent對象數據, 
  69.          *      例如更新Intent中的Extras。這個非常有用, 
  70.          *      例如之前提到的,我們需要在每次更新之後更新Intent中的Extras數據, 
  71.          *      達到在不同時機傳遞給MainActivity不同的參數,實現不同的效果。  
  72.          *********************/  
  73.            
  74.         PendingIntent pi = PendingIntent.getActivity(this0, it, PendingIntent.FLAG_UPDATE_CURRENT);  
  75.           
  76.         //設置事件信息,顯示在拉開的裡面   
  77.         n.setLatestEventInfo(NotificationtestActivity.this,"我的軟件"+Integer.toString(count), "我的軟件正在運行……", pi);  
  78.        
  79.         //發出通知   
  80.         nm.notify(ID,n);  
  81.     }  
  82. }  

 

Copyright © Linux教程網 All Rights Reserved