android实现状态栏添加图标的函数实例

时间:2022-11-24 15:33:01

本文实例讲述了android实现状态栏添加图标的函数。分享给大家供大家参考。具体如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
private void showNotification() {
 // 创建一个NotificationManager的引用
 NotificationManager notificationManager = (NotificationManager)
  AutoFile.this.getSystemService(android.content.Context.NOTIFICATION_SERVICE);
 // 定义Notification的各种属性
 Notification notification = new Notification(R.drawable.dvd,
  "天籁之音播放器", System.currentTimeMillis());
 notification.flags |= Notification.FLAG_ONGOING_EVENT; // 将此通知放到通知栏的"Ongoing"即"正在运行"组中
 notification.flags |= Notification.FLAG_NO_CLEAR; // 表明在点击了通知栏中的"清除通知"后,此通知不清除,经常与FLAG_ONGOING_EVENT一起使用
 notification.flags |= Notification.FLAG_SHOW_LIGHTS;
 notification.defaults = Notification.DEFAULT_LIGHTS;
 notification.ledARGB = Color.BLUE;
 notification.ledOnMS = 5000;
 // 设置通知的事件消息
 CharSequence contentTitle = "天籁之音正在播放……"; // 通知栏标题
 CharSequence contentText = "ameyume"; // 通知栏内容
 Intent notificationIntent = new Intent(AutoFile.this, MyPlayerService.class); // 点击该通知后要跳转的Activity
 PendingIntent contentItent = PendingIntent.getActivity(AutoFile.this, 0,
  notificationIntent, 0);
 notification.setLatestEventInfo(AutoFile.this, contentTitle, contentText,
  contentItent);
 // 把Notification传递给NotificationManager
 notificationManager.notify(0, notification);
}

要删除图标,用以下代码:

?
1
2
3
4
// 启动后删除之前我们定义的通知
NotificationManager notificationManager = (NotificationManager) this
 .getSystemService(NOTIFICATION_SERVICE);
notificationManager.cancel(0);

希望本文所述对大家的Android程序设计有所帮助。