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. IDA 与VC 加载符号表

    将Windbg路径下的symsrv.yes 拷贝到ida 的安装目录,重新分析ntoskrnl.exe, 加载本地的符号表 添加环境变量  变量名:_NT_SYMBOL_PATH变量值:SRV*{$P ...

  2. IDT hook KiTrap03

    关于idt的基本知识就不进行赘述了,先看一个例子 0 ;------->进入内核,找到中断处理例程KiTrap03 0 这段代码执行,触发3号中断,然后开始执行KiTrap03例程,要知道,执行 ...

  3. 好玩的算法(JS版)

    1.字符串反转 'cba'.split('').reverse().join(''); 2.在数组最后一位添加一项 array[array.length]=(new value);

  4. 如何向AcmeAir注入问题代码

    为什么要注入问题代码? AcmeAir的常规代码是为了压测测试准备的,所以绝大部分的操作都是可以在几十毫秒中就可以正常返回的.为了向用户展示我们APM工具可以在源代码级别发现系统潜在问题,我们需要在A ...

  5. iOS 开发--动画

    在iOS开发中,制作动画效果是最让开发者享受的环节之一.一个设计严谨.精细的动画效果能给用户耳目一新的效果,吸引他们的眼光 —— 这对于app而言是非常重要的.我们总是追求更为酷炫的实现,如果足够仔细 ...

  6. yafeilinux.com的开源项目非常好的东西

    转自:http://www.yafeilinux.com/?page_id=9 声明:我们网站的资源可以自由下载,转载,但是不能用作商业用途.如有问题请联系我们www.yafeilinux.com . ...

  7. windows xp 无法连接wpa无线网络

    其实以前一直是可以的,不知为什么前几天忽然就不能加入原有的无线网了.我的无线网是WPA加密的,采用DHCP分配IP(但针对特定MAC地址分配静态IP). 在网上找了许久,有的网友认为应该把无线网卡(那 ...

  8. mysql和oracle的一个汉字占几个字符

    以前一直使用oracle11g,一个汉字占3个字节,所以在操作mysql时也一直这样分配长度. 今天测试了下发现不对了 可以看到第一个的长度确实是15,但是第二个为什么是5? 在网上找到资料:char ...

  9. Linux命令-yum

    定义 yum仓库是为进一步简化RPM管理软件难而设计的,yum能够根据用户的要求分析出所需软件包以及相关依赖关系,自动从服务器下载软件包并安装到系统. 实例

  10. MyBatis实现SaveOrUpdate

    这篇文章主要讲如何通过xml方式实现SaveOrUpdate,但是仍然建议在Service中实现. 例子 <insert id="saveOrUpdate" > < ...