当在Android L上向我的应用程序发送推送通知时,在锁定屏幕中显示通知的通知图标并没有背景的灰色圆圈。其他第三方应用程序(如Facebook)和Google应用程序的背景为灰色圆圈。我为我的应用设置了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;
}
答案 0 :(得分:2)
从图标中删除颜色,您将获得灰色圆圈背景
https://developer.android.com/about/versions/android-5.0.html
更新或删除涉及通知图标颜色的资产。系统会忽略操作图标和主通知图标中的所有非Alpha通道。您应该假设这些图标仅为alpha。系统以白色绘制通知图标,以深灰色绘制动作图标。
答案 1 :(得分:1)
假设您确实使用Urban Airship Android Library进行推送通知(正如您的代码所暗示的那样),您应该覆盖getSmallIconId():
public int getSmallIconId() {
return R.drawable.notification_ind;
}
并删除buildNotification()
中的代码。这可确保系统为所有API级别适当地格式化图标。