Android Notification消息提示


一般而言,消息提示,可以通过Toast方式,提醒给用户看,而通过Notification方式的话,可以在状态栏显示出来。并且有声音,还有文字描述,并且可以出现在消息公告栏,这在QQ,飞信等常用即时通信软件中应用广泛。点击该在状态栏中的图标,就又可以回到原程序中。这样就是一个进入该程序的入口,同时还可以显示状态,比较离开,隐身,忙碌等状态。下面我来通过一个例子来进行描述。

首先,Notification是通过NotificationManager进行管理的。是通过它来进行初始化操作的。如下所示:

  1.     //声明通知(消息)管理器   
  2.     NotificationManager m_NotificationManager;   
  3.     Intent              m_Intent;   
  4.     PendingIntent       m_PendingIntent;   
  5.     //声明Notification对象   
  6.     Notification        m_Notification;   
  7.   
  8. void showNotification(){   
  9.         //初始化NotificationManager对象   
  10.         m_NotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);   
  11.            
  12.         //点击通知时转移内容   
  13.     //  m_Intent = new Intent(LoginActivity.this, MainActivity.class);   
  14.            
  15.         //主要是设置点击通知时显示内容的类   
  16.         m_PendingIntent = PendingIntent.getActivity(LoginActivity.this0, getIntent(), 0); //如果轉移內容則用m_Intent();   
  17.            
  18.         //构造Notification对象   
  19.         m_Notification = new Notification();   
  20.            
  21.            
  22.         //设置通知在状态栏显示的图标   
  23.         m_Notification.icon = R.drawable.img1;   
  24.         //当我们点击通知时显示的内容   
  25.         m_Notification.tickerText = "開始登陸系統...........";   
  26.         //通知时发出默认的声音   
  27.         m_Notification.defaults = Notification.DEFAULT_SOUND;   
  28.         //设置通知显示的参数   
  29.         m_Notification.setLatestEventInfo(LoginActivity.this"MyIMSYS""登陸通知", m_PendingIntent);   
  30.         //可以理解为执行这个通知   
  31.         m_NotificationManager.notify(0, m_Notification);   
  32.     }   
  33.       

注意到:

        //点击通知时转移内容
    //    m_Intent = new Intent(LoginActivity.this, MainActivity.class);
       
        //主要是设置点击通知时显示内容的类
        m_PendingIntent = PendingIntent.getActivity(LoginActivity.this, 0, getIntent(), 0); //如果轉移內容則用m_Intent();
    如果要点击进入别的Activity.可以在这里进行修改。

 当然也可以去除该Notification.

    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
       
        m_NotificationManager.cancelAll();
    }

    显示效果如下:

相关内容