[解決済み】Androidのプッシュ通知。通知にアイコンが表示されず、白い四角が表示される。
質問
アプリが通知を生成するのですが、その通知に設定したアイコンが表示されません。代わりに、白い四角が表示されます。
アイコンのpngのサイズを変更してみました(寸法720x720, 66x66, 44x44, 22x22)。不思議なことに、より小さなサイズを使用すると、白い四角が小さくなります。
この問題や、通知の正しい生成方法についてググってみたところ、私のコードは正しいはずです。悲しいことに、物事はそうあるべきものではありません。
私の携帯電話は、Android 5.1.1のNexus 5です。この問題は、エミュレータ、Android 5.0.1のSamsung Galaxy s4、Android 5.0.1のMotorola Moto G(どちらも借用品で、今は持っていません)でも発生しています。
以下、通知用のコードと、スクリーンショットを2枚掲載します。より詳細な情報が必要な場合は、お気軽にお尋ねください。
皆さん、ありがとうございました。
@SuppressLint("NewApi") private void sendNotification(String msg, String title, String link, Bundle bundle) {
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Intent resultIntent = new Intent(getApplicationContext(), MainActivity.class);
resultIntent.putExtras(bundle);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
resultIntent, Intent.FLAG_ACTIVITY_NEW_TASK);
Notification notification;
Uri sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notificationsound);
notification = new Notification.Builder(this)
.setSmallIcon(R.drawable.lg_logo)
.setContentTitle(title)
.setStyle(new Notification.BigTextStyle().bigText(msg))
.setAutoCancel(true)
.setContentText(msg)
.setContentIntent(contentIntent)
.setSound(sound)
.build();
notificationManager.notify(0, notification);
}
<イグ
解決方法は?
原因 Lollipop 5.0では、通知アイコンを白色で統一する必要があります。
<ブロッククオートターゲットSDKを20に設定することで、白いアイコンの問題を解決する場合、我々のアプリは、ターゲットSDKを20に設定することで、白いアイコンの問題を解決することができます。 の場合、Android Lollipopをターゲットにしていないため、使用できません。 ロリポップ特有の機能
ターゲットSdk21の解決策
ロリポップのマテリアルアイコンに対応したい場合は、ロリポップ以上のバージョンで透明なアイコンを作成してください。以下を参考にしてください。 https://design.google.com/icons/
をご覧ください。 http://developer.android.com/design/style/iconography.html Android Lollipopでは、白色のスタイルが通知の表示方法であることがわかります。
Lollipopでは、Googleは白い通知アイコンの後ろに表示される色を使用することも提案しています。リンクを参照してください。 https://developer.android.com/about/versions/android-5.0-changes.html
色(Colors)を追加したい場所 https://developer.android.com/reference/android/support/v4/app/NotificationCompat.Builder.html#setColor(int)
ロリポップ以下とロリポップ以上のOSバージョンに対応した通知ビルダーの実装をお願いします。
Notification notification = new NotificationCompat.Builder(this);
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
notification.setSmallIcon(R.drawable.icon_transperent);
notification.setColor(getResources().getColor(R.color.notification_color));
} else {
notification.setSmallIcon(R.drawable.icon);
}
注:setColorはLollipopでのみ利用可能で、アイコンの背景にのみ影響します。
あなたの問題を完全に解決します!
関連
-
[解決済み】「ArrayAdapterはリソースIDがTextViewであることが必要」XMLの問題点
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み】findViewByIDがnullを返す。
-
[解決済み] sendUserActionEvent() は null です。
-
[解決済み] 複数のデバイスを接続しているときにADB Shellを使用するには?error: more than one device and emulator "で失敗します。
-
[解決済み] APKのインストール中にDELETE_FAILED_INTERNAL_ERRORエラーが発生する。
-
[解決済み】Androidプラットフォームでのプッシュ通知について
-
[解決済み】Androidのプッシュ通知技術はどのように機能しますか?
-
[解決済み】Android 5 Lollipopで通知バーのアイコンが白くなる件
-
[解決済み】Androidはほぼリアルタイムのプッシュ通知に対応していますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッケージ名(Google Analytics)に一致するクライアントが見つからない - 複数のproductFlavorsとbuildTypes
-
[解決済み】Android TextView : "setTextで表示されたテキストを連結しない" について
-
[解決済み】AndroidのSSL接続でトラストアンカーが見つからない
-
[解決済み】Android Studio。adbバージョン」の結果を取得できない
-
[解決済み] [Solved] java.lang.RuntimeException: アクティビティーのインスタンス化ができません ComponentInfo
-
[解決済み] 起動アクティビティを特定できませんでした。デフォルトのアクティビティが見つかりませんでした
-
[解決済み] エラー - Android リソースのリンクに失敗しました (AAPT2 27.0.3 Daemon #0)
-
[解決済み] com.android.supportのライブラリは全て全く同じバージョン表記である必要があります。
-
[解決済み] Android Fragment onAttach() 非推奨
-
[解決済み】Android 5 Lollipopで通知バーのアイコンが白くなる件