Android Studio(带有ARGB的通知LED上的自定义颜色不起作用)

观书散遗帙,探古穷至妙。这篇文章主要讲述Android Studio:带有ARGB的通知LED上的自定义颜色不起作用相关的知识,希望能为你提供帮助。
我试图为ARGB颜色的通知LED设置自定义颜色。

NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification.Builder(this) .setDefaults(0) .setTicker("") .setSmallIcon(R.drawable.maxapplogo) .setContentTitle("Notification") .setContentText("This is a notification test!") .setAutoCancel(true) .setVibrate(new long[] { 1000, 500, 1000, 500, 1000 }) .setLights(Color.GREEN, 1000, 1000) .build(); /* notification.ledARGB = 0xffffee05; *//* here I wanted to know if the int values of the color can help me */ int black = Color.BLACK; Log.d("black color", String.valueOf(black)); // -16777216int green = Color.GREEN; Log.d("green color", String.valueOf(green)); // -16711936int red = Color.RED; Log.d("red color", String.valueOf(red)); // -65536notification.flags = Notification.FLAG_SHOW_LIGHTS; if(notificationManager != null) { notificationManager.notify(0, notification); } else { Toast.makeText(getApplicationContext(), "Notification failed", Toast.LENGTH_SHORT).show(); }

如果我使用命令COLOR.GREEN或任何其他可用颜色设置颜色,它将起作用。但是使用ARGB规范它不起作用。即使使用不同的ARGB颜色,它也始终显示相同的颜色。
我在三星Galaxy S8上测试了我的应用程序。我没有其他智能手机可供测试。有人知道为什么这不起作用。它应该根据其他Stackoverflow帖子。
答案FLAG_SHOW_LIGHTS和Notification.Builder.setLights(int,int,int); 自android O(API级别26)以来已弃用
【Android Studio(带有ARGB的通知LED上的自定义颜色不起作用)】您需要使用通知频道
NotificationChannel mChannel = new NotificationChannel(id, name, importance); mChannel.enableLights(true); // Sets the notification light color for notifications posted to this // channel, if the device supports this feature. mChannel.setLightColor(Color.RED);


    推荐阅读