Notification通知创建

由于通知是一个远程视图,所以创建通知在状态栏显示需要用到三个主要的对象:

一、PendingIntent对象,用来承载Intent对象的,Intent对象主要是定义通知的意图去向

二、Notification对象,该对象需要借助NotificationCompat 子类Build的对象通过build()方法获得。

三、NotificationManger服务对象,该对象的主要作用是将notification对象发送通过notify()方法

创建系统通知样式
第一步:创建一个点击该通知栏启动其他Activity的Intent(意图)对象,该activity需要注册action
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);
 

创建自定义样式:
, intent2, );
// 创建通知对象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通知创建的更多相关文章

  1. iOS - Notification 通知

    1.Notification 通知中心实际上是在程序内部提供了消息广播的一种机制,它允许我们在低程度耦合的情况下,满足控制器与一个任意的对象进行通信的目的.每一个 iOS 程序(即每一个进程)都有一个 ...

  2. Android Notification通知详细解释

    Android Notification通知具体解释  Notification: (一).简单介绍:         显示在手机状态栏的通知. Notification所代表的是一种具有全局效果的通 ...

  3. 配置 SQL Server Email 发送以及 Job 的 Notification通知功能

    配置 SQL Server Email 发送以及 Job 的 Notification通知功能 在与数据库相关的项目中, 比如像数据库维护, 性能警报, 程序出错警报或通知都会使用到在 SQL Ser ...

  4. Android开发——Notification通知的使用及NotificationCopat.Builder常用设置API

    想要看全部设置的请看这一篇 [转]NotificationCopat.Builder全部设置 常用设置: 设置属性 说明 setAutoCancel(boolean autocancel) 设置点击信 ...

  5. 适配 通知 Notification 通知渠道 前台服务 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  6. Android Notification通知简介

    Android Notification通知简介 根据activity的生命周期,在activity不显示时,会执行onStop函数(比如按下home键),所以你在onStop函数(按退出键除外)里面 ...

  7. [iOS基础控件 - 6.10] Notification 通知机制

    A.定义      iOS程序都有一个NSNotificationCenter的单例对象,用来负责发布不同对象之间的通知      任何对象都能够在NSNotificationCenter发布通知,发 ...

  8. Notification (通知)的 新版和旧版用法

    Notification (通知)的 新版和旧版用法   一.先来看旧版,Api 11 之前的用法: NotificationManager manager = (NotificationManage ...

  9. Android开发——Notification通知的各种Style详解

    本来是想与之前讲解使用Notification通知使用一起写的,查看了资料,觉得有必要将这Style部分单独拿出来讲解 前篇:Android开发——Notification通知的使用及Notifica ...

随机推荐

  1. CCF|火车购票|Java|80分

    import java.util.*; public class Main { public static void main(String[] args) { Scanner in = new Sc ...

  2. Android自定义zxing扫描界面的实现

    首先,我们需要导入zxing的jar文件,其次复制所需要的资源文件以及放入自己需要添加的资源文件,复制出源码的必要相关类文件.对布局文件进行一定的修改,再修改CaptureActivity与Viewf ...

  3. Angular和SAP C4C的事件处理队列

    Angular 我们在Angular框架的代码里能看到一个名为processQueue的函数: 这个函数是通过$scope.$apply启动的: 核心代码位于一个for循环里,循环体是一个存储异步处理 ...

  4. SQLite – 删除表

    SQLite -删除表 SQLite DROP TABLE语句用于删除一个表定义和所有相关的数据,索引.触发器.约束和规范许可表. 你使用这个命令时必须小心,因为一旦一个表被删除然后表中所有可用的信息 ...

  5. Android(java)学习笔记174:服务(service)之混合方式开启服务

    1. 前面我们已经讲过可以使用两种方式开启服务 startService----stopService:        oncreate() ---> onstartCommand() ---& ...

  6. JavaEE-05 分页与文件上传

    学习要点 新闻分页显示数据 新闻图片上传 JSP分页显示数据 分页 数据信息较多的的时候一般采用列表显示,方便展示信息: 数据量较大的时候一般采用列表加分页的方式显示,便于阅读. 分页方式:集合或者s ...

  7. Java中的BIO,NIO,AIO分别是什么

    BIO:同步并阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理,如果这个连接不做任何事情会造成不必要的线程开销,当然可以通过线程池机制改善.BIO方式适用 ...

  8. EBS ORACLE采购对账单自动产生发票

    只要传入个对账单号,然后跑数据抛到接口表,运行接口请求,就可以自动生成发票 create or replace package body pkg_ap_check_by_po is --创建ap发票 ...

  9. Java笔记:编写第一个Java程序

    2017.6.17 1.编写第一个Java程序 创建text文本,命名第一个Java程序.txt 在里面编写Java代码 public class Demo1{ public static void ...

  10. 教你学会Linux/Unix下的vi文本编辑器

    vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结. 首先,记住vi编辑器的两个模式:1.命令模式 2.编辑模式. 在一个UNIX/Linux的s ...