Android中Notification通知用法详解
作者:最冷一天丶 时间:2023-02-24 02:37:51
Notification的作用
通知(Notification)是Android系统中比较有特色的一个功能。当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以用通知来实现
用法
首先我们需要一个NotificationManager来对通知进行管理,可以调用getSystemService()方法得到,方法接收一个字符串参数用于确定获取系统的哪个服务,这里我们传入NOTIFICATION_SERVICE。
NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
接下来用一个Builder构造器来创建Notification对象
Intent intent=new Intent(this,NotificationActivity.class);
//用intent表现出我们要启动Notification的意图
PendingIntent pi=PendingIntent.getActivity(this,0,intent,0);
//将Intent对象传入PendingIntent对象的getActivity方法中
NotificationManager manager=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification notification=new NotificationCompat.Builder(this)
.setContentTitle("This is content title")
//设置通知栏中的标题
.setContentText("hello world!")
//设置通知栏中的内容
.setWhen(System.currentTimeMillis())
//设置通知出现的时间,此时为事件响应后立马出现通知
.setSmallIcon(R.mipmap.ic_launcher)
//设置通知出现在手机顶部的小图标
.setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher))
//设置通知栏中的大图标
.setContentIntent(pi)
//将PendingIntent对象传入该方法中,表明点击通知后进入到NotificationActivity.class页面
.setAutoCancel(true)
//点击通知后,通知自动消失
.setDefaults(NotificationCompat.DEFAULT_ALL)
//默认选项,根据手机当前的环境来决定通知发出时播放的铃声,震动,以及闪光灯
.setPriority(NotificationCompat.PRIORITY_MAX)
//设置通知的权重
.build();
manager.notify(1,notification);
//用于显示通知,第一个参数为id,每个通知的id都必须不同。第二个参数为具体的通知对象
注意事项
通知属性定义以后,要通过NotificationManager对象的notify()方法来显示通知。
项目运行后,如果通知一直无法发出,那么请看看手机里面的“通知与状态栏”里面的“通知管理”。部分手机默认对APP不允许通知,所以需要先打开允许通知,再运行项目,才能收到通知信息。
来源:http://blog.csdn.net/cwh1010714845/article/details/78254748
标签:Android,Notification,通知
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Java的Spring框架中bean的继承与内部bean的注入
2023-06-17 18:50:44
![](https://img.aspxhome.com/file/2023/9/69329_0s.png)
Java实现按行读取大文件
2022-11-05 13:56:57
C#中缓存的基本使用方法
2023-02-23 13:47:44
![](https://img.aspxhome.com/file/2023/1/81141_0s.gif)
解决Spring或SpringBoot开启事务以后无法返回自增主键的问题
2023-09-12 18:51:45
JAVA操作MongoDB数据库实例教程
2023-11-18 13:22:27
c#定时器使用示例详解
2022-01-09 03:31:05
Spring Boot配置Thymeleaf(gradle)的简单使用
2023-04-18 07:41:42
![](https://img.aspxhome.com/file/2023/0/118810_0s.png)
C#编程中使用设计模式中的原型模式的实例讲解
2023-07-18 07:47:10
![](https://img.aspxhome.com/file/2023/5/116435_0s.png)
Android实现波浪球效果
2021-09-02 16:07:53
![](https://img.aspxhome.com/file/2023/4/99794_0s.jpg)
Android Activity的启动过程源码解析
2023-12-25 11:16:00
![](https://img.aspxhome.com/file/2023/4/138514_0s.png)
详解Java策略模式
2022-03-20 12:17:05
![](https://img.aspxhome.com/file/2023/3/119193_0s.png)
Java反射 PropertyDescriptor类案例详解
2022-03-13 14:27:32
springcloud注册hostname或者ip的那些事
2022-05-06 00:57:37
![](https://img.aspxhome.com/file/2023/9/65369_0s.png)
Java简单高效实现分页功能
2022-05-24 13:56:02
c# 单例模式的实现方法
2022-12-21 14:39:46
Android 获取屏幕尺寸实例代码
2023-07-26 21:50:47
深入理解Java设计模式之外观模式
2023-05-02 09:48:00
![](https://img.aspxhome.com/file/2023/2/68562_0s.jpg)
springmvc分层领域模型概念详解
2021-09-07 01:21:51
![](https://img.aspxhome.com/file/2023/0/66660_0s.jpg)
c#通过xpath读取xml示例
2023-07-16 01:31:05
Android实现无标题栏全屏的方法
2023-06-25 11:14:27