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無法自定義狀態欄,無法自定義狀態欄的圖標以及下拉狀態欄的圖標。