答えについては、 Android のソースを参照してください。
<!-- Default color for notification LED. -->
<color name="config_defaultNotificationColor">#ffffffff</color>
<!-- Default LED on time for notification LED in milliseconds. -->
<integer name="config_defaultNotificationLedOn">500</integer>
<!-- Default LED off time for notification LED in milliseconds. -->
<integer name="config_defaultNotificationLedOff">2000</integer>
ただし、ROM が異なれば、これらの値も異なる場合があります。たとえば、私のリターン5000
はconfig_defaultNotificationLedOff
. そのため、実行時にそれらを取得したい場合があります。
Resources resources = context.getResources(),
systemResources = Resources.getSystem();
notificationBuilder.setLights(
ContextCompat.getColor(context, systemResources
.getIdentifier("config_defaultNotificationColor", "color", "android")),
resources.getInteger(systemResources
.getIdentifier("config_defaultNotificationLedOn", "integer", "android")),
resources.getInteger(systemResources
.getIdentifier("config_defaultNotificationLedOff", "integer", "android")));
diffによると、これらの属性は Android 2.2 以降 (API レベル 8 以降) に存在することが保証されています。