通知栏的显示和点击

  • 没有怎么写过博客,所以我直接就把实现这个功能的方法给挂上来了,有兴趣可以看下,

  •  

    public void setNormalNoti(Context context,String carId,String contexts){
        NotificationCompat.Builder builder = new NotificationCompat.Builder(context);
       // 设置标题
        builder.setContentTitle("银行卡通知:"+carId);
        // 设置内容
        builder.setContentText("止付处理结果:"+contexts);
        builder.setSmallIcon(R.drawable.logotwo);
        // 设置大图标
       // builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
        // 设置通知灯光(LIGHTS)、铃声(SOUND)、震动(VIBRATE)、(ALL 表示都设置)
        builder.setDefaults(Notification.DEFAULT_ALL);
        // 灯光三个参数,颜色(argb)、亮时间(毫秒)、暗时间(毫秒),灯光与设备有关
        builder.setLights(Color.RED, 200, 200);
        // 铃声,传入铃声的 Uri(可以本地或网上)我这没有铃声就不传了
        builder.setSound(Uri.parse(""));
        // 震动,传入一个 long 型数组,表示 停、震、停、震 ... (毫秒)
        builder.setVibrate(new long[]{0, 200, 200, 200, 200, 200});
        // 普通通知栏设置 Intent
        builder.setContentIntent(setPendingIntent("银行卡信息通知", context));
        // 通知栏点击后自动消失
        builder.setAutoCancel(true);
        // 后台运行,无法右滑删除
        builder.setOngoing(true);
        NotificationManagerCompat managerCompat = NotificationManagerCompat.from(context);
        managerCompat.notify("chat", 0102, builder.build());
        // 强制消失,传入 tag 和 id
        // managerCompat.cancel("notification",0101);
    }
     public PendingIntent setPendingIntent(String msg,Context context){
            Intent intent=new Intent(context,HomeActivity.class);
            intent.putExtra("chat", msg);
            intent.setAction("chat:" + msg);
            // 获取 pendingIntent,传入四个参数,这些参数大家都能看懂,第四个是一些 Flag,表示你这个通知栏会怎么变化,一般使用这个
            return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        }

     

你可能感兴趣的:(通知栏的显示和点击)