For PC there is f.lux, iOS has the builtin Night Shift since iOS 9.3. These are day-time dependent screen filters that aim to reduce the blue tint, which is considered to negatively influence sleep.
Sadly, on Android I know no app that does the same. There are apps that make the screen more yellow'ish or red'ish, but they all share the same flaw.
Android: Black doesn't stay black
A correctly implemented blue-light filter should reduce the intensity of the blue contribution, and nothing else. Notably, black must remain black. This is fulfilled by both Night Shift and f.lux.
Root-less Android apps seem to simply put a transparent red to yellow layer on top of the screen content (as can be seen by trying them at extreme settings – black areas turn into an increasingly bright red). While this does indeed reduce the blue-light contribution slightly, it strongly increases the black-level effectively degrading screen-contrast to the 1:10 range or below, which again is stressful for the eyes – especially at night, in dark environments.
I found this issue to apply to the apps
- Twilight (tested myself)
- Night-mode part of Lux Auto Brightness (also tested myself)
- CF.Lumen (screenshot from phonearena.com)
- Bluelight Filter for Eye Care (screenshot from phonearena.com)
- Night shift: Blue light filter (screenshot fromm giga.de
While f.lux is available for Android, it requires root and seems to fail for Samsung devices, according to their webpage. It is also only a preview version right now.
When searching for an Android solution with Google, all I find are articles that recommend apps that do it wrong (see above).
Is there any root-less Android solution right now, that doesn't have this issue, or a root-app that is more finished than the Android version of f.lux?
In Photoshop Terms
The difference can be explained in terms of Photoshop blend modes (though I used GIMP to create the image at the end):
Typical android solutions correspond to the "normal" blend mode, typically with a yellow to reddish layer.
A true blue light filter corresponds to the "multiply" blend mode. The effect from f.lux corresponds to a reddish layer (roughly RGB(1.0,0.8,0.0) I would guess) and iOS 9 / Android 7 look like pure yellow RGB(1.0,1.0,0.0) corresponding to a higher color temperature than f.lux. These methods however probably all likely hook into the graphics stack at a lower level than postprocessing the final image, probably instead readjusting the color settings of the monitors to the same effect.
The intensity of the filter corresponds to different opacity settings.
For comparison, here an screenshot of this page with multiplicative and normal blend mode and 30% / 60% / 90% opacity. The latter can be done in some android apps, but f.lux / iOS / Android don't allow turning it up that high. These are just meant to illustrate the problem with the "but transparent layer on top" solution.