Android用户界面之notifaction(状态栏通知)

本文详细介绍了如何在Android系统中管理并发送通知,包括获取通知管理者、设置通知的最新信息、解析PendingIntent类以及发送通知的基本步骤。同时,文章强调了在不同场景下通知的应用价值,如后台事件提醒。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

对于通知,应先明白:通知概要 通知标题 通知内容 通知图标 通知时间

首先,看界面。状态栏上的是:图标和概要。

将状态栏往下拉,会出来标题、内容和时间。

2

 

通知除了状态栏的图标外,还可以 开打设备上的LED灯,发送声音、震动来提醒用户

 

通知可以告诉用户在后台发生了某事,所以经常在广播接受者和服务中使用;

 

例子开始的界面如下:点击发送后,会发送通知。

image  image

主要用到的方法有:

1、得到通知管理者:通过getSystemService(String).来得到NotificationManager,在该类中调用cancel(int)来清除通知。

2、指定通知的最新信息:notification.setLatestEventInfo(this, title, content, pendingIntent);

3、 PendingIntent类解析:

带有特定标记(flag)的的intent,由静态方法getActivity(Context, int, Intent, int flag), getBroadcast(Context, int, Intent, int flag), getService(Context, int, Intent, int flag)来创建。

主要标记有:

FLAG_UPDATE_CURRENT :如果已经存在PendingIntent,还产生该PendingIntent,还带有新的extra

FLAG_ONE_SHOT :这个PendingIntent只能被用一次。

FLAG_CANCEL_CURRENT:如果存在的PendingIntent还未消失,还取消将将要产生的该PendingIntent

 

主要代码:

  1. String tickerText = shortText.getText().toString();  
  2. String title = titleText.getText().toString();  
  3. String content = contentText.getText().toString();  
  4.   
  5. //1、得到NotificationManager   
  6. NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);  
  7.   
  8.   
  9. //2、实例化一个通知,指定了图标、概要、时间   
  10. Notification notification = new Notification(android.R.drawable.stat_notify_chat, tickerText, System.currentTimeMillis());  
  11.   
  12. //3、指定通知的标题、内容和intent   
  13. Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:104040444"));  
  14. PendingIntent pendingIntent = PendingIntent.getActivity(this0, intent, 0);  
  15. notification.setLatestEventInfo(this, title, content, pendingIntent);  
  16.   
  17. //指定标志和声音   
  18. notification.flags = Notification.FLAG_AUTO_CANCEL;  
  19. notification.defaults = Notification.DEFAULT_SOUND;  
  20.   
  21. //可以指定为震动,也可以用 .sound来自己指定声音   
  22. //notification.defaults = Notification.DEFAULT_VIBRATE;   
  23.   
  24. //可以指定为闪光灯   
  25. //notification.defaults = Notification.DEFAULT_LIGHTS;   
  26.   
  27. //4、发送通知给通知管理者   
  28. manager.notify(1, notification);  
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值