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: }