互換性ライブラリを使用して Android リッチ通知を実装しているため、すべての通知は次を使用して構築されています。android.support.v4.app.NotificationCompat.Builder
私が使用しているコードは次のとおりです。
// Base notification
NotificationCompat.Builder b = new NotificationCompat.Builder(context);
b.setSmallIcon(R.drawable.ic_actionbar);
b.setContentTitle(title);
b.setContentText(Html.fromHtml(msg));
b.setTicker(title);
b.setWhen(System.currentTimeMillis());
b.setDeleteIntent(getDismissNotificationsPendingIntent(quantity));
b.setLargeIcon(Picasso.with(context).load(iconUrl).get());
// BigPictureStyle
NotificationCompat.BigPictureStyle s = new NotificationCompat.BigPictureStyle();
if (expandedIconUrl != null) {
s.bigLargeIcon(Picasso.with(context).load(expandedIconUrl).get());
} else if (expandedIconResId > 0) {
s.bigLargeIcon(BitmapFactory.decodeResource(context.getResources(), expandedIconResId));
}
s.bigPicture(Picasso.with(context).load(bigImageUrl).get());
b.setStyle(s);
b.setContentIntent( // some intent
b.addAction(R.drawable.ic_notification_ // some action
Notification n = b.build();
// and go ahead to show it
表示する画像に互換性がない場合、基本的に画像を読み込まないという余分な部分があるため、理由もなくメモリを使用しませんが、それが基本であり、次の画像の右側の通知に似たものを期待しています
問題は、通知が縮小されるとメッセージ (「タッチしてスクリーンショットを表示」の例) が表示されますが、通知が展開されるとメッセージが消えることです。
setMessage()
呼び出すのを忘れているメソッドはありますか? それはバグNotificationCompat
ですか?ここで誰かが洞察を与えることができますか?