Android下Notification(通知欄)の使用


Notificationを使用するメリット:androidアプリケーションがメインインタフェースまたはその他に戻ったときに、androidシステムの通知バーで指定したアイコンをクリックして指定したアプリケーションを開くことができます.Android版の携帯電話QQのように、メインインタフェースや他のインタフェースに戻ると、通知欄にQQのアイコンが表示され、ここで実現されるのがこの機能です.
簡単な小さな列を次に示します.この列を共通のクラスに抽出することもできます.これにより、メンテナンスが容易になります.
public class NotificationActivity extends Activity {
 //    (  )    
 NotificationManager m_NotificationManager;
 Intent  m_Intent;
 PendingIntent m_PendingIntent;
 //  Notification  
 Notification  m_Notification;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.notification);
  //   NotificationManager   
  m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
 }
 
 public void click(View view){
  switch (view.getId()) {
  case R.id.btn_notification_start:
   showNotification();
   break;
  case R.id.btn_notification_end:
   cancelNotification();
   break;
  default:
   break;
  }
 }
 /**    */
 private void showNotification(){ 
  //          
  //Intent intent = new Intent(this, this.getClass());
  //intent.addCategory(WINDOW_SERVICE);
  //                 
  m_PendingIntent = PendingIntent.getActivity(NotificationActivity.this, 0, getIntent(), 0); //        m_Intent();
  //  Notification   
  m_Notification = new Notification(); 
  //              
  m_Notification.icon = R.drawable.icon;
  //              
  m_Notification.tickerText = "      ..........."; 
  //           
  m_Notification.defaults = Notification.DEFAULT_SOUND; 
  //          
  m_Notification.setLatestEventInfo(NotificationActivity.this, "MyIMSYS", "    ", m_PendingIntent); 
  //            
  m_NotificationManager.notify(0, m_Notification); 
 }
 /**    */
 private void cancelNotification(){
  m_NotificationManager.cancelAll();
 }