Android 5.0对状态栏图标的要求
根据Android5.0相关API,icon必须完全遵循镂空背景和无渐变色的设计。
极光推送通知栏图标问题
使用默认通知栏样式的话,如果找不到 <b>jpush_notification_icon.png</b> ,则使用应用的默认图标。
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无法自定义状态栏,无法自定义状态栏的图标以及下拉状态栏的图标。
网友评论