我使用此简单代码在Android 4.1或更高版本中设置了通知。
它运作良好,但是我的问题来自SmallIcon和LargeIcon。
我知道状态栏中会显示SmallIcon,而下拉列表中则会显示LargeIcon。

NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder.setTicker("The ticker");
builder.setContentTitle("The title");
builder.setContentText("The text");
builder.setSmallIcon(R.drawable.my_small_icon);
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.my_96px_large_icon);
builder.setLargeIcon(bm);
NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
nm.notify("direct_tag", NOTIF_ALERTA_ID, builder.build());

我的问题是:
  • 启动通知时,“The Ticker”文本旁边将显示裁剪过的超大Small Icon,而不是显示原始SmallIcon而不使其尺寸过大。
  • 在下拉列表中,我在左侧看到LargeIcon,这很好。但是,我还在通知时间旁边看到了右侧的小图标。我不想证明这一点。
  • 最佳答案

  • 在我的应用程序中,我提供了较大的(128x128 px)PNG可绘制的小图标,它显示了缩放比例且没有裁剪。您的可绘制对象是在位图文件中定义的,还是在XML资源中定义的?在XML中,您可以指定显示的几个方面(例如裁剪)。仔细检查您的XML或仅使用PNG/JPG。
  • 正如Android API documentation on Notification.setSmallIcon()明确指出的那样:


  • 除非您提供自己的通知模板(通过Notification.setContent()

    10-07 20:03