在消息设置的界面设置消息通知栏的样式:
//自定义报警通知(震动铃声都要)
public void setNotification1(){
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(NewMsgRemindActivity.this);
builder.statusBarDrawable = R.drawable.logo;//消息栏显示的图标
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL; //设置为自动消失
builder.notificationDefaults = Notification.DEFAULT_SOUND| Notification.DEFAULT_VIBRATE|Notification.DEFAULT_LIGHTS;// 设置为铃声与震动都要
JPushInterface.setDefaultPushNotificationBuilder(builder);
}
//自定义报警通知(铃声)
public void setNotification2(){
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(NewMsgRemindActivity.this);
builder.statusBarDrawable = R.drawable.logo;<span style="font-family: Arial, Helvetica, sans-serif;">//消息栏显示的图标</span>
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL; //设置为自动消失
builder.notificationDefaults = Notification.DEFAULT_SOUND|Notification.DEFAULT_LIGHTS;// 设置为铃声与震动都要
JPushInterface.setDefaultPushNotificationBuilder(builder);
}
//自定义报警通知(震动)
public void setNotification3(){
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(NewMsgRemindActivity.this);
builder.statusBarDrawable = R.drawable.logo;<span style="font-family: Arial, Helvetica, sans-serif;">//消息栏显示的图标</span>
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL; //设置为自动消失
builder.notificationDefaults = Notification.DEFAULT_VIBRATE|Notification.DEFAULT_LIGHTS;// 震动
JPushInterface.setDefaultPushNotificationBuilder(builder);
}
//自定义报警通知(震动铃声都不要)
public void setNotification4(){
BasicPushNotificationBuilder builder = new BasicPushNotificationBuilder(NewMsgRemindActivity.this);
builder.statusBarDrawable = R.drawable.logo_app_168;
builder.notificationFlags = Notification.FLAG_AUTO_CANCEL; //设置为自动消失
builder.notificationDefaults = Notification.DEFAULT_LIGHTS;// 设置为铃声与震动都不要
JPushInterface.setDefaultPushNotificationBuilder(builder);
}
只要在相应开关打开或者关闭的地方调用下面的样式即可,前提是必须在
JPushInterface.setDebugMode(true);
JPushInterface.init(MainActivity.this);
Jpush初始化之后调用。
通常会遇到调用之后,提醒方式都是铃声和震动同时进行,而没有单独执行选中的震动或者是铃声,这个问题我之前遇到过就是因为我用的是Jpush.2.0.5.jar,上述方法失效了,没有设置通知的模式,后来又更换成Jpush1.8.2.jar,这个方法又重新可以进行使用了,按理来说新版本应该会兼容旧版本的方法,在新的API中还有setDefaultPushNotification()方法,但是在应用过程中就不好使了,所以具体原因还在探究中。下面将jar包及相关文件传到此片博文,有需要的大家可以下载试试。