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. 深入Java集合学习系列:HashMap的实现原理--转

    原文出自:http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html 1. HashMap概述: HashMap是基于哈希表的Ma ...

  2. lintcode:数字组合 II

    数字组合 II 给出一组候选数字(C)和目标数字(T),找出C中所有的组合,使组合中数字的和为T.C中每个数字在每个组合中只能使用一次. 注意事项 所有的数字(包括目标数字)均为正整数. 元素组合(a ...

  3. Project Euler 107:Minimal network 最小网络

    Minimal network The following undirected network consists of seven vertices and twelve edges with a ...

  4. No ResultSet was produced

    遇到的详细问题: 出现了No ResultSet was produced的异常,但数据是成功插入, 大致判断异常发生在执行插入操作后,检查代码. 解决方案: 通常在executeQuery(sql) ...

  5. 怎么修改mysql密码

    1.用root 进入mysql后mysql>set password =password('你的密码');mysql>flush privileges; 2.使用GRANT语句 mysql ...

  6. photoshop:找不到增效工具入口点

    按Ctrl+k+9 ,到预设的增效工具栏设置为要存储的文件夹路径:

  7. TCP建立连接的三次握手过程

    TCP是因特网中的传输层协议,使用三次握手协议建立连接,下面是TCP建立连接的全过程. 上图画出了TCP建立连接的过程.假定主机A运行的是TCP客户程序,B运行的是TCP服务器程序.最初两端的TCP进 ...

  8. Java:进制转换

    进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于 ...

  9. Failed to load unit 'HGCM' (VERR_INVALID_PARAMETER)

    1 清除状态: clear the state,  显示 边上有个 清楚 按钮,作用相当于重启虚拟机 restart

  10. GMT与UTC

    时间概念 — 24时区.GMT.UTC的意涵 许多人都知道两地时间表简称为GMT或UTC,而世界时区表则通称为World Time ,那么GMT与UTC的实质原意又是为何?世界时区又是怎么区分的?面盘 ...