使用Notification的好处:在我们的android应用程序返回到主界面或其它的时 候,我们可以在android系统的通知栏上面点击指定的图标开启指定的应用。好比android版的手机QQ一样,返回到主界面或其它界面时,会在通知 栏上出现一个QQ的图标,这里实现的就是这种功能。
下面给出一个简单的小列子,大家也可以将这个列子提取为公共的类,这样也方便维护
public class NotificationActivity extends Activity {
//声明通知(消息)管理器
NotificationManager m_NotificationManager;
Intentm_Intent;
PendingIntent m_PendingIntent;
//声明Notification对象
Notificationm_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();
}