Notification通知创建
Notification通知创建
由于通知是一个远程视图,所以创建通知在状态栏显示需要用到三个主要的对象:
一、PendingIntent对象,用来承载Intent对象的,Intent对象主要是定义通知的意图去向
二、Notification对象,该对象需要借助NotificationCompat 子类Build的对象通过build()方法获得。
三、NotificationManger服务对象,该对象的主要作用是将notification对象发送通过notify()方法
Intent intent , intent, );
第二步:创建通知对象notificaton,而notificaton对象需要Builder对象来建立,所以创建Builder对象,并利用该对象设置通知的各种信息
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setAutoCancel(true);// 打开该通知,通知自动消失
builder.setTicker("有新的消息,注意查收!!");// 设置显示在状态栏的通知提示信息
Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.notification);
builder.setLargeIcon(bitmap);// 设置通知栏中的通知下拉后显示的图标,图片格式为bitmap型
builder.setSmallIcon(R.drawable.icon);// 设置通知图标
builder.setContentTitle("样式通知");// 设置通知内容的标题
builder.setContentText("恭喜您,您被录取了,请于下周一前来报道!!");// 设置通知的内容
builder.setContentIntent(pi1);// 设置点击通知将要启动的Inent
// 利用builder对象建立通知对象notificaton,通过build()方法
android.app.Notification notification = builder.build();
// 第三步:利用系统的NotificationManager服务发送通知,通过getSystemService()获取系统的NotificationManager服务
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(NOTIFICATION_ID, notification);
// 创建通知对象notification,该对象那需要build对象来简介建立
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setSmallIcon(R.drawable.notice);
builder.setAutoCancel(true);// 打开该通知,通知自动消失
builder.setTicker("有新的消息,注意查收!!");// 设置显示在状态栏的通知提示信息
// 加载自定义通知布局样式,也就是这里不用在通过builder对象来设置通知信息,xml文件已经定义好!!
// 由于通知是一个远程视图,所以必须通过RemoteViews对象获取xml文件并形成通知视图
RemoteViews remoteViews = new RemoteViews(this.getApplication().getPackageName(), R.layout.notification);
// 然后将远程视图利用setContent()设置到通知中去显示
builder.setContent(remoteViews);
builder.setContentIntent(pi2);// 设置点击通知将要启动的Inent
// 利用builder对象建立通知对象notificaton,通过build()方法
android.app.Notification notification = builder.build();
// 通过getSystemService()获取系统的NotificationManager服务,在发送通知
NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
nm.notify(MY_NOTIFICATION_ID, notification);
Notification通知创建的更多相关文章
- iOS - Notification 通知
1.Notification 通知中心实际上是在程序内部提供了消息广播的一种机制,它允许我们在低程度耦合的情况下,满足控制器与一个任意的对象进行通信的目的.每一个 iOS 程序(即每一个进程)都有一个 ...
- Android Notification通知详细解释
Android Notification通知具体解释 Notification: (一).简单介绍: 显示在手机状态栏的通知. Notification所代表的是一种具有全局效果的通 ...
- 配置 SQL Server Email 发送以及 Job 的 Notification通知功能
配置 SQL Server Email 发送以及 Job 的 Notification通知功能 在与数据库相关的项目中, 比如像数据库维护, 性能警报, 程序出错警报或通知都会使用到在 SQL Ser ...
- Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API
想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...
- 适配 通知 Notification 通知渠道 前台服务 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- Android Notification通知简介
Android Notification通知简介 根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面 ...
- [iOS基础控件 - 6.10] Notification 通知机制
A.定义 iOS程序都有一个NSNotificationCenter的单例对象,用来负责发布不同对象之间的通知 任何对象都能够在NSNotificationCenter发布通知,发 ...
- Notification (通知)的 新版和旧版用法
Notification (通知)的 新版和旧版用法 一.先来看旧版,Api 11 之前的用法: NotificationManager manager = (NotificationManage ...
- Android开发——Notification通知的各种Style详解
本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...
随机推荐
- PKU_campus_2018_H Safe Upper Bound
思路: 题目链接http://poj.openjudge.cn/practice/C18H/ 用2147483647除以最大素因子. 这里用了Pollard_rho因子分解算法,模板参考了http:/ ...
- currentStyle getComputedStyle兼容
function getStyle(obj,attr){ if(obj.currentStyle) {return obj.currentStyle[attr]} else{ return getCo ...
- springboot的多个配置文件的关系
一般我们在使用springboot时会用到多个环境下的配置文件,例如 application-dev.yml:开发环境 application-uat.yml:用户验收测试环境 application ...
- docker client和daemom
client 模式 docker命令对应的源文件是docker/docker.go, docker [options] command [arg...] 其中options参数为flag,任何时候执行 ...
- Unexpected Exception caught setting 'username' on 'class com.bj186.crm.web.action.UserAction: Error setting expression 'username' with value ['艾格尼丝', ]
问题场景: 在使用表单向Action传递数据的时候, 遇到了这个问题, 导致了空指针异常. 问题描述: 10:14:56.622 [http-nio-8080-exec-45] ERROR com.o ...
- Maven实战读书笔记(二):Maven坐标与仓库
2.1 Maven坐标 Maven坐标是Maven用来表示一个组件依赖的标示. Maven通过下面几个元素定义坐标:groupId.artifactId.version.packaging.class ...
- openjdk-alpine镜像无法打印线程堆栈和内存堆栈问题
基于openjdk:8u171-alpine构建的java镜像,使用jstack命令打印线程的时候会提示以下错误: /opt # ps -ef PID USER TIME COMMAND 1 root ...
- svn上传项目
1.桌面右键单击 2.进行项目导入 3.选择项目所在目录 4.
- python 03 8/25-8/27 range 、randint
import random """字符串的操作中 三种方法,只包含左索引,不包含右索引""" hi= "bokeyuan pyth ...
- python基础知识05-控制流程
控制流程 1.条件判断 python中的代码从上到下执行. if 条件: 缩进 语句1 elif 条件2: 缩进 语句2 (…或者写pass关键字.不写任何代码的时候,防止报错.) ... else: ...