普通通知


public void sendone(View view){      


               //1.先创建一个通知的管理器      


               NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);      


               //2.创建一个通知的builder对象来设置通知的一些相关内容      


               NotificationCompat.Builder builder = new NotificationCompat.Builder(this);      


               builder.setContentTitle("紧急通知");      


               builder.setContentText("因为今天是伟大的节日,所以呢全部都不用上课了。。。");      


               builder.setSmallIcon(R.drawable.ic_launcher);//小图必须设置,否则报错      


               //设置一个通知的标志,响铃和振动      


               builder.setDefaults(NotificationCompat.DEFAULT_SOUND|NotificationCompat.DEFAULT_VIBRATE);      


               //设置一个跑马类的提示      


               builder.setTicker("大家今天要记得吃好饭。。。。");      


               //设置通知能不能删除      


               builder.setOngoing(true);      


               //设置通知点击完后自动取消      


               builder.setAutoCancel(true);      


               //创建一个意图对象      


               Intent i = new Intent();      


               i.setAction(Intent.ACTION_DIAL);      


               i.setData(Uri.parse("tel://10086"));      


               PendingIntent pi = PendingIntent.getActivity(this, 100, i, PendingIntent.FLAG_ONE_SHOT);      


               builder.setContentIntent(pi); //给通知设置了一个点击事件      


               //通过builder对象来创建一个通知对象      


               Notification no = builder.build();      


               //3.通过通知管理器来发送通知      


               nm.notify(1, no);      


           }


列表通知


public void sendlist(View view) {       



             //1.先创建一个通知的管理器        


                 NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        



                // 2.创建通知的builder对象并设置通知的相关属性信息       


                NotificationCompat.Builder b = new NotificationCompat.Builder(this);       


                b.setSmallIcon(R.drawable.pic3).setContentTitle("列表通知")       


                        .setDefaults(Notification.DEFAULT_SOUND);       





                // 3.创建一个通知的列表样式的对象       


                NotificationCompat.InboxStyle style = new NotificationCompat.InboxStyle();       


                // 往列表里加数据       


                style.addLine("这是第一条信息");       


                style.addLine("这是第二条信息");       


                style.addLine("这是第三条信息");       


                style.setSummaryText("一共有3条数据,请过目");       


                // 4.把列表样式对象设置给通知的builder对象       


                b.setStyle(style);       


                // 5.通知通知管理器来发送通知       


                nm.notify(2, b.build());       


            }



大图片通知


public void sendBigImage(View view) {       



            //1.先创建一个通知的管理器        


                 NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        



                // 2.创建通知的builder对象并设置通知的相关属性信息       


                NotificationCompat.Builder b = new NotificationCompat.Builder(this);       


                b.setSmallIcon(R.drawable.pic3).setContentTitle("大图片通知")       


                        .setDefaults(Notification.DEFAULT_SOUND);       





                // 3.创建一个通知的大图片样式的对象       


                NotificationCompat.BigPictureStyle style = new NotificationCompat.BigPictureStyle();       


        //通知栏的大图       


                style.bigLargeIcon(BitmapFactory.decodeResource(getResources(),       


                        R.drawable.pic7));       


        //显示在通知栏下面的大图       


                style.bigPicture(BitmapFactory.decodeResource(getResources(),       


                        R.drawable.pic8));       


                style.setSummaryText("该电影主演人是英桃小玩子,大家快来看呀");       





                // 4.把大图片样式对象设置给通知的builder对象       


                b.setStyle(style);       


                // 5.通知通知管理器来发送通知       


                nm.notify(3, b.build());       


            }


进度条通知

//子线程和主线程都可以发送通知


           public void sendProgress(View view){      


               //创建通知的builder对象并设置通知的相关属性信息      


               final NotificationCompat.Builder b = new NotificationCompat.Builder(this);      


               new Thread(){      


                   public void run() {      


                       //设置通知的相关属性信息      


                       b.setSmallIcon(R.drawable.pic8)      


                       .setContentTitle("下载提示")      


                       .setContentText("小主,你需要的东西正在下载中,请耐心等待")      


                       .setAutoCancel(true)      


                       .setDefaults(NotificationCompat.DEFAULT_VIBRATE);      





                       for (int i = 0; i <100; i+=5) {      


                           //第一个参数是最大的进度,第二个参数是当前进度,第三个参数是你的进度条是不是确定的,true表示不确定,false表示确定      


                           b.setProgress(100, i, false);       


                           nm.notify(4, b.build()); //不停的发送通知      


                           Log.e("progess", i+"------");      


                           try {      


                               Thread.sleep(1000);      


                           } catch (InterruptedException e) {      


                               e.printStackTrace();      


                           }      


                       }      








                       //取消发送进度的那个通知      


                       nm.cancel(4);      





                       //在创建一个下载完成的提醒通知      


                       NotificationCompat.Builder b2 = new NotificationCompat.Builder(MainActivity.this);      


                       b2.setSmallIcon(R.drawable.pic3).setContentTitle("下载完成")      


                       .setContentText("亲,已经下载完成,请您查看")      


                       .setDefaults(NotificationCompat.DEFAULT_SOUND);      


                       nm.notify(5, b2.build());      


                   };      


               }.start();      


           }


自定义通知

public void sendself(View view) {


               NotificationCompat.Builder b = new NotificationCompat.Builder(this);      


               b.setSmallIcon(R.drawable.ic_launcher);      


               b.setContentTitle("自定义通知").setTicker("请查看我自定义的通知吧")      


                       .setDefaults(NotificationCompat.DEFAULT_SOUND);      





               // 创建一个remoteviews对象      


               RemoteViews rvs = new RemoteViews(getPackageName(),      


                       R.layout.item_notification_layout);      


               rvs.setTextViewText(.tvmess, "你叫什么名字?");      


               rvs.setTextViewText(.tvmess2, "你来自哪里?");      


               rvs.setImageViewResource(.ivimage, R.drawable.cat);      





               b.setContent(rvs); // 设置自定义的通知内容      


               // 发送通知      


               nm.notify(6, b.build());      





           }


自定义Toast通知

public void toastBySelf(View view) {       


                //根据布局文件转成一个布局对象       


                View rootView = View.inflate(this, R.layout.item_notification_layout,       


                        (ViewGroup) findViewById(.root));       


                TextView tv = (TextView) rootView.findViewById(.tvmess);       


                TextView tv2 = (TextView) rootView.findViewById(.tvmess2);       


                tv.setText("这是自定义的TOAST");       


                tv2.setText("请看大家的表情");       





                //创建Toast对象       


                Toast t = new Toast(getApplicationContext());       


                t.setGravity(Gravity.RIGHT, 0, 0);       


                t.setDuration(Toast.LENGTH_LONG);       


                t.setView(rootView);       


                t.show();       


            }




普通通知



public void sendone(View view){       


                //1.先创建一个通知的管理器       


                NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);       


                //2.创建一个通知的builder对象来设置通知的一些相关内容       


                NotificationCompat.Builder builder = new NotificationCompat.Builder(this);       


                builder.setContentTitle("紧急通知");       


                builder.setContentText("因为今天是伟大的节日,所以呢全部都不用上课了。。。");       


                builder.setSmallIcon(R.drawable.ic_launcher);//小图必须设置,否则报错       


                //设置一个通知的标志,响铃和振动       


                builder.setDefaults(NotificationCompat.DEFAULT_SOUND|NotificationCompat.DEFAULT_VIBRATE);       


                //设置一个跑马类的提示       


                builder.setTicker("大家今天要记得吃好饭。。。。");       


                //设置通知能不能删除       


                builder.setOngoing(true);       


                //设置通知点击完后自动取消       


                builder.setAutoCancel(true);       


                //创建一个意图对象       


                Intent i = new Intent();       


                i.setAction(Intent.ACTION_DIAL);       


                i.setData(Uri.parse("tel://10086"));       


                PendingIntent pi = PendingIntent.getActivity(this, 100, i, PendingIntent.FLAG_ONE_SHOT);       


                builder.setContentIntent(pi); //给通知设置了一个点击事件       


                //通过builder对象来创建一个通知对象       


                Notification no = builder.build();       


                //3.通过通知管理器来发送通知       


                nm.notify(1, no);       


            }



列表通知

public void sendlist(View view) {        



              //1.先创建一个通知的管理器         


                  NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);         



                 // 2.创建通知的builder对象并设置通知的相关属性信息        


                 NotificationCompat.Builder b = new NotificationCompat.Builder(this);        


                 b.setSmallIcon(R.drawable.pic3).setContentTitle("列表通知")        


                         .setDefaults(Notification.DEFAULT_SOUND);        





                 // 3.创建一个通知的列表样式的对象        


                 NotificationCompat.InboxStyle style = new NotificationCompat.InboxStyle();        


                 // 往列表里加数据        


                 style.addLine("这是第一条信息");        


                 style.addLine("这是第二条信息");        


                 style.addLine("这是第三条信息");        


                 style.setSummaryText("一共有3条数据,请过目");        


                 // 4.把列表样式对象设置给通知的builder对象        


                 b.setStyle(style);        


                 // 5.通知通知管理器来发送通知        


                 nm.notify(2, b.build());        


             }




大图片通知

public void sendBigImage(View view) {        



             //1.先创建一个通知的管理器         


                  NotificationManager nm =(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);         



                 // 2.创建通知的builder对象并设置通知的相关属性信息        


                 NotificationCompat.Builder b = new NotificationCompat.Builder(this);        


                 b.setSmallIcon(R.drawable.pic3).setContentTitle("大图片通知")        


                         .setDefaults(Notification.DEFAULT_SOUND);        





                 // 3.创建一个通知的大图片样式的对象        


                 NotificationCompat.BigPictureStyle style = new NotificationCompat.BigPictureStyle();        


         //通知栏的大图        


                 style.bigLargeIcon(BitmapFactory.decodeResource(getResources(),        


                         R.drawable.pic7));        


         //显示在通知栏下面的大图        


                 style.bigPicture(BitmapFactory.decodeResource(getResources(),        


                         R.drawable.pic8));        


                 style.setSummaryText("该电影主演人是英桃小玩子,大家快来看呀");        





                 // 4.把大图片样式对象设置给通知的builder对象        


                 b.setStyle(style);        


                 // 5.通知通知管理器来发送通知        


                 nm.notify(3, b.build());        


             }




进度条通知

//子线程和主线程都可以发送通知


            public void sendProgress(View view){       


                //创建通知的builder对象并设置通知的相关属性信息       


                final NotificationCompat.Builder b = new NotificationCompat.Builder(this);       


                new Thread(){       


                    public void run() {       


                        //设置通知的相关属性信息       


                        b.setSmallIcon(R.drawable.pic8)       


                        .setContentTitle("下载提示")       


                        .setContentText("小主,你需要的东西正在下载中,请耐心等待")       


                        .setAutoCancel(true)       


                        .setDefaults(NotificationCompat.DEFAULT_VIBRATE);       





                        for (int i = 0; i <100; i+=5) {       


                            //第一个参数是最大的进度,第二个参数是当前进度,第三个参数是你的进度条是不是确定的,true表示不确定,false表示确定       


                            b.setProgress(100, i, false);        


                            nm.notify(4, b.build()); //不停的发送通知       


                            Log.e("progess", i+"------");       


                            try {       


                                Thread.sleep(1000);       


                            } catch (InterruptedException e) {       


                                e.printStackTrace();       


                            }       


                        }       








                        //取消发送进度的那个通知       


                        nm.cancel(4);       





                        //在创建一个下载完成的提醒通知       


                        NotificationCompat.Builder b2 = new NotificationCompat.Builder(MainActivity.this);       


                        b2.setSmallIcon(R.drawable.pic3).setContentTitle("下载完成")       


                        .setContentText("亲,已经下载完成,请您查看")       


                        .setDefaults(NotificationCompat.DEFAULT_SOUND);       


                        nm.notify(5, b2.build());       


                    };       


                }.start();       


            }


自定义通知

 

public void sendself(View view) {


                NotificationCompat.Builder b = new NotificationCompat.Builder(this);       


                b.setSmallIcon(R.drawable.ic_launcher);       


                b.setContentTitle("自定义通知").setTicker("请查看我自定义的通知吧")       


                        .setDefaults(NotificationCompat.DEFAULT_SOUND);       





                // 创建一个remoteviews对象       


                RemoteViews rvs = new RemoteViews(getPackageName(),       


                        R.layout.item_notification_layout);       


                rvs.setTextViewText(.tvmess, "你叫什么名字?");       


                rvs.setTextViewText(.tvmess2, "你来自哪里?");       


                rvs.setImageViewResource(.ivimage, R.drawable.cat);       





                b.setContent(rvs); // 设置自定义的通知内容       


                // 发送通知       


                nm.notify(6, b.build());       





            }


自定义Toast通知

public void toastBySelf(View view) {        


                 //根据布局文件转成一个布局对象        


                 View rootView = View.inflate(this, R.layout.item_notification_layout,        


                         (ViewGroup) findViewById(.root));        


                 TextView tv = (TextView) rootView.findViewById(.tvmess);        


                 TextView tv2 = (TextView) rootView.findViewById(.tvmess2);        


                 tv.setText("这是自定义的TOAST");        


                 tv2.setText("请看大家的表情");        





                 //创建Toast对象        


                 Toast t = new Toast(getApplicationContext());        


                 t.setGravity(Gravity.RIGHT, 0, 0);        


                 t.setDuration(Toast.LENGTH_LONG);        


                 t.setView(rootView);        


                 t.show();        


             }