[Qiita] Android 5.0 Lolipop以上で通知アイコンが白くなってしまう問題を解決する
※この記事は以前Qiitaに投稿されていた古い記事です はじめに AndroidのSupport LibraryにあるNotificationCompatで何気なく通知を実装したら、Android 5.0 Lolipop以上で通知アイコンが白くなってしまったので、解決方法のメモです。 アイコンが白くなってしまう通知の例 ステータスバーを開いたときの通知 アイコンからでは何の通知か判断できない…。 PRIORITY_HIGHな通知 ステータスバーを開いた時と同じで、アイコンからでは何の通知か分からない…。 ステータスバーのアイコン 文字も無いので何か全くわからない…。 何故こうなるか Android 5.0から、アイコンをマークで使用(アルファチャンネルのみ使用)するようになったため、背景が不透明な四角い画像をSmall Iconにセットすると、勝手に白くなってしまうようになりました。 要するに、こういう画像を、 こんな感じでセットすると、 NotificationCompat . Builder builder = new NotificationCompat . Builder ( context ) ; builder . setSmallIcon ( R . drawable . icon ) ; // アイコンの背景色 builder . setColor ( ContextCompat . getColor ( context , R . color . colorPrimary ) ) ; 背景が透過してしないため、画像がアルファチャンネルのみになると、このようにアイコンがただの白い四角になってしまう、というわけです。 解決方法 画像の背景を透過したアイコンを作り、それをセットします。 この画像の場合は水色の背景の部分を透明にしました。 画像修正後 画像を修正したら、実際にセットしてみます。 Small Iconだけの場合 Small Iconだけの場合は、コードは変わらず、画像だけ差し替えれば...