JPushInterface.setPushNotificationBuilder(1, builder); 1 这个参数其实是builder_id ;这个参数是用来自定义通知的,但是服务器端必须指定了跟客户端相同的 builder_id ,这样客户端在接收到推送通知时,客户端 设置的基本的自定义的操作 比如: 禁止声音和振动 。才会生效! 如果 服务器没有 设置 builder_id ,那么 无论 客户端设置 builder_id 为多少 , 都不会生效 ,会使用默认的(即 声音和振动都是默认开启的)。
Android SDK 进阶教程---自定义通知栏教程----
Example - 基础的 PushNotificationBuilder
定制声音、震动、闪灯等 Notification 样式。
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(MainActivity.this);
builder.statusBarDrawable = R.drawable.jpush_notification_icon;
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL
| Notification.FLAG_SHOW_LIGHTS; //设置为自动消失和呼吸灯闪烁
builder.notificationDefaults = Notification.DEFAULT_SOUND
| Notification.DEFAULT_VIBRATE
| Notification.DEFAULT_LIGHTS; // 设置为铃声、震动、呼吸灯闪烁都要
JPushInterface.setPushNotificationBuilder(builder_id, builder);
如果 推送服务器端 没有 设置 builder_id 的值或者推送服务器端设置的builder_id 与客户端的不一致, 都会导致客户端的自定义的不起作用, 使用默认的(即声音和震动默认开启);