Notify通知

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控件显示的图片资源       

posted on 2016-07-26 10:33  Sun‘刺眼的博客  阅读(504)  评论(0编辑  收藏  举报

导航