我正在尝试为Android Pie中的通知设置颜色,但是按照Android Developers上的信息进行操作后,我似乎无法正常使用,即通知保持白色。这是我的代码:
public class MainActivity extends AppCompatActivity {
int mColor = Color.CYAN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendNotification(View view) {
NotificationChannel notificationChannel = new NotificationChannel("1", "1", NotificationManager.IMPORTANCE_DEFAULT);
notificationChannel.setDescription("Test Notifications");
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
notificationManager.createNotificationChannel(notificationChannel);
Notification.Builder builder = new Notification.Builder(this, "1");
builder.setSmallIcon(R.mipmap.ic_launcher_round)
.setContentText("Test Notification")
.setColorized(true)
.setColor(mColor);
NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);
notificationManagerCompat.notify(1, builder.build());
}
对此,我将不胜感激,谢谢!
答案 0 :(得分:1)
您链接的方法是这样的:
对于大多数样式,仅当通知用于前台服务通知时才应用颜色。但是,对于附加了媒体会话的Notification.MediaStyle和Notification.DecoratedMediaCustomViewStyle通知,则没有此要求。
除非您对通知使用MediaStyle或DecoratedMediaCustomViewStyle,否则无法通过常规调用notify()
来设置颜色。
如果您不能使用任何一种样式,则此通知需要成为服务的一部分,您可以在其中通过startForeground()
进行传递。