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

本文介绍了如何在Android中实现消息通知栏的推送。通过Notification.Builder创建通知对象,设置图标、标题、内容和时间,并配置点击通知后跳转的Activity。同时,设置了指示灯、声音和震动效果。需添加振动和闪光灯权限。

消息通知栏的实现

  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" />  
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值