JPUSH 推送通知栏图标

Android 5.0对状态栏图标的要求

根据Android5.0相关API,icon必须完全遵循镂空背景和无渐变色的设计。

极光推送通知栏图标问题

使用默认通知栏样式的话,如果找不到 jpush_notification_icon.png ,则使用应用的默认图标。

JPushInterface.setDebugMode(true);  
// 设置开启日志,发布时请关闭日志 
JPushInterface.init(this);      
// 初始化 JPush

在使用期间会出现状态栏图标显示不全的问题

参考:
https://community.jiguang.cn/t/logo/10361/4
http://9105034.blog.51cto.com/9095034/1742957

通知的图标大小
drawable-xhdpi 48x48
drawable-hdpi 36x36
drawable-mdpi 24x24


自定义通知栏样式设计
1 、定制声音、震动、闪灯等 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(1, builder);

2、定制 Notification 的 Layout

    CustomPushNotificationBuilder builder = new
    CustomPushNotificationBuilder(MainActivity.this,
                              R.layout.customer_notitfication_layout,
                              R.id.icon,
                              R.id.title,
                              R.id.text); 
                             // 指定定制的 Notification Layout
    builder.statusBarDrawable = R.drawable.your_notification_icon;     
    // 指定最顶层状态栏小图标
    builder.layoutIconDrawable = R.drawable.your_2_notification_icon;  
    // 指定下拉状态栏时显示的通知图标
    JPushInterface.setPushNotificationBuilder(2, builder);

使用自定义通知栏样式的有条件的
客户端需设置消息的类型,即builderId ,当服务端发送对应的类型时,极光会先进行消息类型匹配,若匹配不上,则默认调用应用的图标,若匹配上,则调用客户端指定的图标(自定义通知栏的指定图标)。

现在服务端为极光后台,无法设置builderId,因此app无法自定义状态栏,无法自定义状态栏的图标以及下拉状态栏的图标。

你可能感兴趣的:(JPUSH 推送通知栏图标)