Android 5.0對狀態(tài)欄圖標的要求
根據(jù)Android5.0相關(guān)API悼沈,icon必須完全遵循鏤空背景和無漸變色的設(shè)計贱迟。
極光推送通知欄圖標問題
使用默認通知欄樣式的話,如果找不到 <b>jpush_notification_icon.png</b> ,則使用應(yīng)用的默認圖標絮供。
JPushInterface.setDebugMode(true);
// 設(shè)置開啟日志,發(fā)布時請關(guān)閉日志
JPushInterface.init(this);
// 初始化 JPush
在使用期間會出現(xiàn)狀態(tài)欄圖標顯示不全的問題
參考:
https://community.jiguang.cn/t/logo/10361/4
http://9105034.blog.51cto.com/9095034/1742957
通知的圖標大小
drawable-xhdpi 48x48
drawable-hdpi 36x36
drawable-mdpi 24x24
自定義通知欄樣式設(shè)計
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; //設(shè)置為自動消失和呼吸燈閃爍
builder.notificationDefaults = Notification.DEFAULT_SOUND
| Notification.DEFAULT_VIBRATE
| Notification.DEFAULT_LIGHTS; // 設(shè)置為鈴聲睡榆、震動萍肆、呼吸燈閃爍都要
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;
// 指定最頂層狀態(tài)欄小圖標
builder.layoutIconDrawable = R.drawable.your_2_notification_icon;
// 指定下拉狀態(tài)欄時顯示的通知圖標
JPushInterface.setPushNotificationBuilder(2, builder);
使用自定義通知欄樣式的有條件的
客戶端需設(shè)置消息的類型胀屿,即builderId 塘揣,當服務(wù)端發(fā)送對應(yīng)的類型時,極光會先進行消息類型匹配宿崭,若匹配不上亲铡,則默認調(diào)用應(yīng)用的圖標,若匹配上葡兑,則調(diào)用客戶端指定的圖標(自定義通知欄的指定圖標)奖蔓。
現(xiàn)在服務(wù)端為極光后臺,無法設(shè)置builderId讹堤,因此app無法自定義狀態(tài)欄吆鹤,無法自定義狀態(tài)欄的圖標以及下拉狀態(tài)欄的圖標。