1、NotificationManager类对象

        <1>getSystemService(Context.NOTIFICATION_SERVICE) 获取通知管理对象
        <2>notify(int id, Notification notification)
                //定义通知管理对象
  1. NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
                //定义通知构造器对象
  1. NotificationCompat.Builder builder = new NotificationCompat.Builder(this)
  2.                         .setSmallIcon(R.drawable.ic_launcher)
  3.                         .setContentTitle("标题")
  4.                         .setContentText("文本")
  5.                         .setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE);
                (1)普通的通知
  1. Intent intent1 = new Intent(this,SecondActivity.class); //设置点击通知时打开的窗口
  2.             //定义延迟执行Intent的对象
  3.             PendingIntent pIntent = PendingIntent.getActivity(this, 1, intent1, PendingIntent.FLAG_ONE_SHOT);                      //FLAG_ONE_SHOT:通知仅执行一次
  4.            builder.setContentIntent(pIntent);
  5.             manager.notify(0,builder.build());
                (2)取消所有通知
  1. manager.cancelAll();
                (3) 带进度条的通知
  1. final NotificationCompat.Builder progressBuilder = new NotificationCompat.Builder(this);
  2. progressBuilder.setSmallIcon(R.drawable.ic_launcher)
  3. .setContentTitle("Title")
  4. .setContentText("听说宋丹丹要上马年春晚");
  5. new Thread(new Runnable() {
  6. @Override
  7. public void run() {
  8. int i;
  9. for(i = 0;i <= 100;i+= 5){
  10. //第一个参数: 进度条的最大值,第二个参数:当前进度,第三个参数:是否为不确定性进度
  11. progressBuilder.setProgress(100, i, false);
  12. manager.notify(3, progressBuilder.build());
  13. try {
  14. Thread.sleep(500); //每隔0.5秒发送一次通知
  15. } catch (InterruptedException e) {
  16. // TODO Auto-generated catch block
  17. e.printStackTrace();
  18. }
  19. }
  20. progressBuilder.setContentText("下载完毕!");
  21. manager.notify(3, progressBuilder.build());
  22. }
  23. }).start();
2、NotificationCompat.Builder 通知的构造类
        <1>普通通知
                (1)setSmallIcon(R.drawable.ic_launcher) 设置通知的小图标
                (2)setContentTitle("标题")
                (3)setContentText("文本内容")
                (4)setDefaults(Notification.DEFAULT_SOUND | Notification.DEFAULT_VIBRATE) 设置通知提示
                (5)setContentIntent(PendingIntent) 设置通知被点击后的意图
                (6)Notification build() 生成通知对象
                (7).setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.qq))
        <2>大视图通知
                (1)setStyle(NotificationCompat.Style) 设置大视图样式   
                            setBigContentTitle("大视图标题")
                            setSummaryText("大视图的说明")
                (2)NotificationCompat.InboxStyle 包含一个列表控件
                            addLine("message1")
                (3)NotificationCompat.BigTextStyle 包含一个大的文本控件
                           bigText("big text")
                (4)NotificationCompat.BigPictureStyle 包含一个在的图片控件
                            bigPicture(BitmapFactory.decodeResource(getResources(), R.drawable.qq))
        <3>带进度的通知
                (1)setProgress(int max, int progress, boolean indeterminate) 设置当前进度,第三个参数:是否为不确定进度条
        <4>自定义通知
                (1)setContent(RemoteViews) 设置自定义的通知内容
                (2)RemoteViews(String packageName, int layoutId) 加载一个指定应用下的布局资源文件
                (3)setTextViewText(int viewId, "内容")  设置指定TextView控件的内容
                (4)setImageViewBitmap(int viewId,Bitmap) 设置ImageView控件显示的图片
                (5)setImageViewResource(int viewId,int resid) 设置ImageView控件显示的图片资源       

Notify通知的更多相关文章

  1. java并发编程(十一)线程间的通信notify通知的遗漏

    notify通知的遗漏很容易理解,即threadA还没开始wait的时候,threadB已经notify了,这样,threadB通知是没有任何响应的,当threadB退出synchronized代码块 ...

  2. 转:【Java并发编程】之十一:线程间通信中notify通知的遗漏(含代码)

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/17228213 notify通知的遗漏很容易理解,即threadA还没开始wait的时候,t ...

  3. 【Java并发编程】之十一:线程间通信中notify通知的遗漏

    notify通知的遗漏很容易理解,即threadA还没开始wait的时候,threadB已经notify了,这样,threadB通知是没有任何响应的,当threadB退出synchronized代码块 ...

  4. java线程——notify通知的泄露

    版权声明:本文为CSDN博主「兰亭风雨」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明.原文链接:https://blog.csdn.net/ns_code/ar ...

  5. java锁之wait,notify(wait会释放锁,notify仅仅只是通知,不释放锁)

    wait是指在一个已经进入了同步锁的线程内,让自己暂时让出同步锁,以便其他正在等待此锁的线程可以得到同步锁并运行,只有其他线程调用了notify方法(notify并不释放锁,只是告诉调用过wait方法 ...

  6. 03.线程的通知notify与等待wait

    wait().notify.notifyAll()方法 wait().notify().notifyAll()是三个定义在Object类里的方法,可以用来控制线程的状态. 这三个方法最终调用的都是jv ...

  7. java多线程wait notify join

    wait notify 几个注意点: wait 与 notify/notifyAll 方法必须在同步代码块中使用,即要先对调用对象加锁. 当线程执行wait()时,会把当前的锁释放,然后让出CPU,进 ...

  8. java 多线程(wait/notify/notifyall)

    package com.example; public class App { /* wait\notify\notifyAll 都属于object的内置方法 * wait: 持有该对象的线程把该对象 ...

  9. 实践JAVA wait(), notify(),sleep方法--一道多线程的面试题

    建立三个线程,A线程打印10次A,B线程打印10次B,C线程打印10次C,要求线程同时运行,交替打印10次ABC. 这个问题用Object的wait(),notify()就可以很方便的解决. publ ...

随机推荐

  1. 知问前端——创建header区

    创建界面 我们首先要设计一个header,这个区域将要设计成永远置顶.也就是,往下拉出滚动条也永远在页面最上层可视区内.在header区,目前先设计LOGO.搜索框.按钮.注册和登录即可. 项目的大致 ...

  2. 几个经常用到的字符串的截取(java)

    几个经常用到的字符串的截取 string str="123abc456";int i=3;1 取字符串的前i个字符   str=str.Substring(0,i); // or  ...

  3. 【poj1061-青蛙的约会】拓展欧几里得-不定方程

    http://poj.org/problem?id=1061 题意:裸题.注意负数. //poj1061 #include<cstdio> #include<cstdlib> ...

  4. React架构、设计思想

    一.

  5. Java-马士兵设计模式学习笔记-桥接模式

    一.概述 1.桥接模式的应用情况:(1)两个维度扩展(2)排列组合 二.代码 1.Gift.java public class Gift { protected GiftImpl giftImpl; ...

  6. Java SpringMVC实现国际化整合案例分析(i18n)

    所谓国际化就是支持多种语言,web应用在不同的浏览环境中可以显示出不同的语言,比如说汉语.英语等.下面我将以具体的实例来举例说明: (1)新建动态Javaweb项目,并导入几个SpringMVC必需的 ...

  7. 使用Gson解析复杂的json数据

    Gson解析复杂的json数据 最近在给公司做一个直播APK的项目,主要就是通过解析网络服务器上的json数据,然后将频道地址下载下来再调用Android的播放器进行播放,原先本来打算使用普通的jso ...

  8. cdev、udev

    udev :应用层的守护进程,由启动脚本加载,负责建立热拨插的接点 cdev :建立字符设备接口 platform device :相关平台直接总线建立的设备,主要出现需要自己直接挂到平台的时候,因为 ...

  9. linux硬件驱动层

    1.make menuconfig scripts/kconfig/lxdialog/menubox.o: In function `print_buttons':menubox.c:(.text+0 ...

  10. 了解ThinkPHP(一)

    1.项目开发,中,会遇到的问题: 1). 多人开发项目,分工不合理,(html   php   mysql) 2). 代码风格不一样,后期维护十分困难 3). 项目生命周期十分短,项目生命没有延续性, ...