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 ...
随机推荐
- CF385C Bear and Prime Numbers
思路: 需要对埃氏筛法的时间复杂度有正确的认识(O(nlog(log(n)))),我都以为肯定超时了,结果能过. 实现: #include <bits/stdc++.h> using na ...
- iOS9 开发新特性 Spotlight使用
1.Spotloight是什么? Spotlight在iOS9上做了一些新的改进, 也就是开放了一些新的API, 通过Core Spotlight Framework你可以在你的app中集成Spotl ...
- elf 文件
objdump 文件名 readelf 文件名
- Halcon学习笔记2
图像预处理 一般来说,我们采集到的图像会有一些小黑点,小斑点,不平滑等因素会会影响我们后期的算法,此时就需要我们对其图片进行预处理. 下面是一些预处理基本算子: 1.消除噪声:mean_image/b ...
- SQLite -创建数据库
SQLite -创建数据库 SQLite sqlite3命令用于创建新的SQLite数据库.你不需要有任何特权来创建一个数据库. 语法: sqlite3命令的基本语法如下: $sqlite3 Data ...
- Elasticsearch学习(二)————搜索
Elasticsearch1.query string search1.1.搜索全部// 1. GET http://ip:9200/test/test/_search 结果: { "too ...
- sqlite3:深入理解sqlite3_stmt 机制
我们在使用sqlite3的过程中,涉及到批量操作时(批量插入.批量读...),总会遇到 sqlite3_stmt这个数据类型,按照官方解释说法是这样的:sqlite3_stmt是C接口中“准备语句对象 ...
- Python中Pickle模块的dump()方法和load()方法
Python中的Pickle模块实现了基本的数据序列与反序列化. 经常遇到在Python程序运行中得到了一些字符串.列表.字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就 ...
- postman的关联,即如何在请求中引用上次请求返回的值
做接口测试,一定会遇到这种情况,需要拿上次请求的值在本次请求中使用,比如,我们去测试一个东西,要去登录才能做其他的操作,需要拿到登录返回数据中的某些字段,比如,token啊等... 如果发一次请求,就 ...
- 安装 Zend Studio 报错:0x80070666
出现 0x80070666 报错时 查看日志文件,发现调用VC14(即:Microsoft Visual C++ 2015 Redistributable)时,出错返回0x666 先卸载原有的VC14 ...