我正在创建这样的通知:
Intent intent = new Intent(this, OfferNotification.class);
PendingIntent pIntent = PendingIntent.getActivity(this, 0,
intent, 0);
Uri soundUri = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.unknown)
//.setLargeIcon(BitmapFactory.decodeResource( getResources(), R.drawable.unknown))
.addAction(R.drawable.ic_launcher, "d", pIntent)
.setAutoCancel(true)
.setContentTitle("Offer from " + restaurantName)
.setContentText(offerDescriptoin).setSound(soundUri);
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(this, OfferNotification.class);
resultIntent.putExtra("offerID", offer.getID());
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(OfferNotification.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder
.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(offer.getID(), mBuilder.build());
当我使用小图标时,它工作得很好,但是当我使用大图标时,我可以发出通知的声音,但通知本身没有出现,请问有什么帮助吗?
Android 图标(以及其他 UI 元素,例如拖动长度)以 dp 为单位进行测量。 dp 是与设备/密度无关的像素。 1 dp 相当于 160 dpi 屏幕上的 1 px。但要转换为其他屏幕密度,您需要将其乘以密度系数。因此,通常建议为大多数图标提供多个图像。
例如,状态栏中使用的通知图标被指定为 24x24 dp,具有 1 dp 边距(因此实际图标仅占用 22x22 dp 光学方块,尽管某些 AA 可能会渗入该 1 dp 边距/安全框架)。要将 24 dp 转换为实际像素大小,请使用以下粗略计算:
display density dp units * scale = px units
ldpi ~120 dpi 24x24 dp * .75 = 18x18 px
mdpi ~160 dpi 24x24 dp * 1.0 = 24x24 px
hdpi ~240 dpi 24x24 dp * 1.5 = 36x36 px
xhdpi ~320 dpi 24x24 dp * 2.0 = 48x48 px
还有一种称为 tvdpi (~213 dpi) 的中间显示密度,位于 mdpi 和 hdpi 之间,比例因子为 1.33,但这种情况不太常见。 Android 文档建议您在为最常见的显示密度提供预缩放位图图像(通常是 PNG)时遵循 3:4:6:8 缩放比例。
我没有看到他们在任何地方指定通知中使用的大图标的 dp 大小,但普通收件箱视图中每个通知的高度是 64 dp。这意味着显示的图标/图像的最大尺寸为:
ldpi: 48x48 px
mdpi: 64x64 px
hdpi: 96x96 px
xhdpi: 128x128 px
如果您想确切地了解 Android 的库存图标的图像尺寸,您应该可以从 Android Icon Templates Pack v4.0 中找到。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)