代码改变世界

Android开发——通知Notification

2010-05-28 20:07  HalZhang  阅读(4668)  评论(0编辑  收藏  举报

Android的系统有一个通知栏,这个通知栏很好玩的,可以拉下来,推上去。

通知是Android系统跟用户交互的一个重要的部分。比如有新邮件,新短信息,未接来电===信息都会显示在通知栏。我们把通知栏拖下来,点击通知信息,就能显示通知的具体内容。很cool的功能。

我们也可以定义通知的样式,有图标,通知的声音,还有LED的颜色,闪烁的频率===

OK,看例子……

代码示例一:

   1: package com.halzhang.android.notification;
   2:  
   3: import android.app.Activity;
   4: import android.app.Notification;
   5: import android.app.NotificationManager;
   6: import android.app.PendingIntent;
   7: import android.content.Intent;
   8: import android.os.Bundle;
   9: import android.view.View;
  10: import android.widget.Button;
  11: /**
  12:  * 通知
  13:  * @author 张汉国
  14:  */
  15: public class NotificationDemo extends Activity {
  16:     /** Called when the activity is first created. */
  17:     //通知id
  18:     private static final int NOTICE_ID = 1222;
  19:     private Button notify;
  20:     private Button cancel;
  21:     @Override
  22:     public void onCreate(Bundle savedInstanceState) {
  23:         super.onCreate(savedInstanceState);
  24:         setContentView(R.layout.main);
  25:         notify = (Button) findViewById(R.id.noti);
  26:         cancel = (Button) findViewById(R.id.cancel);
  27:         notify.setOnClickListener(new View.OnClickListener() {
  28:             
  29:             @Override
  30:             public void onClick(View v) {
  31:                 notityMe();
  32:             }
  33:         });
  34:         
  35:         cancel.setOnClickListener(new View.OnClickListener() {
  36:             
  37:             @Override
  38:             public void onClick(View v) {
  39:                 final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
  40:                 //取消通知
  41:                 manager.cancel(NOTICE_ID);
  42:             }
  43:         });
  44:     }
  45:     
  46:     private void notityMe(){
  47:         //获得通知管理器,通知是一项系统服务
  48:         final NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
  49:         //初始化通知对象 p1:通知的图标 p2:通知的状态栏显示的提示 p3:通知显示的时间
  50:         Notification notification = new Notification(R.drawable.icon, "通知测试", System.currentTimeMillis());
  51:         //点击通知后的Intent,此例子点击后还是在当前界面
  52:         PendingIntent intent = PendingIntent.getActivity(this, 0, new Intent(this, NotificationDemo.class), 0);
  53:         //设置通知信息
  54:         notification.setLatestEventInfo(this, "通知title", "通知信息内容", intent);
  55:         //通知
  56:         manager.notify(NOTICE_ID, notification);
  57:     }
  58: }

0 看见通知栏的提示没。1 拉下通知栏后的效果