Android开发笔记之notification消息推送 通知栏的实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/system_err/article/details/79799550

消息通知栏的实现

  1. 我们要通过builder工厂来创建一个notification的对象
  2. 我们创建一个点击了通知栏消息要跳转到的activityIntent intent = new Intent(context, PlayActivity.class);
  3. 通过builder对象来设置notification相关的属性值 
    4.我们要获得notification的管理器通过context.getSystemService(context.NOTIFICATION_SERVICE);得到,由其调用notify进行通知
    public static void showNotifictionIcon(Context context) {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
        Intent intent = new Intent(context, PlayActivity.class);//将要跳转的界面
        builder.setAutoCancel(true);//点击后消失
        builder.setSmallIcon(R.drawable.icon_music);//设置通知栏消息标题的头像
        builder.setDefaults(NotificationCompat.DEFAULT_SOUND);//设置通知铃声
        builder.setTicker("你好");
        builder.setContentText("今天天气真好");//通知内容
        builder.setContentTitle("天气");
        //利用PendingIntent来包装我们的intent对象,使其延迟跳转
        PendingIntent intentPend = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
        builder.setContentIntent(intentPend);
        NotificationManager manager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
        manager.notify(0, builder.build());
    }
另外:
  1.  private void showNotification() {  
  2.         // TODO Auto-generated method stub  
  3.         Notification.Builder builder=new Builder(this);  
  4.         builder.setSmallIcon(R.drawable.ic_launcher);//设置图标  
  5.         builder.setTicker("通知来啦");//手机状态栏的提示  
  6.         builder.setContentTitle("我是通知标题");//设置标题  
  7.         builder.setContentText("我是通知内容");//设置通知内容  
  8.         builder.setWhen(System.currentTimeMillis());//设置通知时间  
  9.         Intent intent=new Intent(this,MainActivity.class);  
  10.         PendingIntent pendingIntent=PendingIntent.getActivity(this0, intent, 0);  
  11.         builder.setContentIntent(pendingIntent);//点击后的意图  
  12.         builder.setDefaults(Notification.DEFAULT_LIGHTS);//设置指示灯  
  13.         builder.setDefaults(Notification.DEFAULT_SOUND);//设置提示声音  
  14.         builder.setDefaults(Notification.DEFAULT_VIBRATE);//设置震动  
  15.         Notification notification=builder.build();//4.1以上,以下要用getNotification()  
  16.         manager.notify(Notification_ID, notification);  
  17.     }  
上面代码中设置的指示灯和震动,由于程序中要访问系统的指示灯和振动器 所以要在AndroidManifest.xml中声明使用权限

[html]  view plain  copy
  1. <uses-permission android:name="android.permission.VIBRATE" />  
  2. <uses-permission android:name="android.permission.FLASHLIGHT" />  

猜你喜欢

转载自blog.csdn.net/system_err/article/details/79799550