当在Android L上向我的应用程序发送推送通知时,锁定屏幕中与通知一起显示的通知图标的背景没有灰色圆圈。其他第三方应用程序(如Facebook)和谷歌应用程序的背景为灰色圆圈。我已经为我的应用程序将targetSdkVersion设置为21,但没有什么不同。我想我不必手动创建一个带有灰色圆圈的图像,对吧?需要做些什么才能让它像其他一样显示出来?
以下是构建通知的代码:
public Notification buildNotification(String alert,
Map<String, String> extras) {
Notification notification = super.buildNotification(alert,
extras);
notification.icon = R.drawable.notification_ind;
notification.contentView.setImageViewResource(
android.R.id.icon, R.drawable.notification_ind);
return notification;
}
删除图标中的颜色,您将得到一个灰色圆圈背景
https://developer.android.com/about/versions/android-5.0.html
更新或删除通知图标中涉及颜色的资产。系统忽略动作图标和主通知图标中的所有非alpha通道。您应该假设这些图标将仅为alpha。系统以白色绘制通知图标,以深灰色绘制操作图标。
假设您确实在使用Urban Airship Android Library进行推送通知(正如您的代码所暗示的那样),您应该重写getSmallIconId():
public int getSmallIconId() {
return R.drawable.notification_ind;
}
并删除buildNotification()
中的代码。这确保系统为所有API级别适当地格式化图标。