androidscreene-ink

Android: How to detect an e-ink screen?


I'd like to make my app more friendly for e-ink screens, i.e. reducing gradients, removing animations etc. Before I can add separate layouts for those screen types, I first need a way to detect them. Did somebody find a good way to do this?

The Display class doesn't look like it's providing a way to detect the display type...

Edit: By e-ink screen, I mean a screen that works with the e-paper technology.


Solution

  • Current ePaper displays have a very slow refresh speed compared to LCD and OLED displays, therefore it should be possible to detect them using the value provided by Display.getRefreshRate().

    boolean isEInk() { 
      return getWindowManager().getDefaultDisplay().getRefreshRate() < 5.0; 
    }
    

    However on some fairs video capable ePaper display prototypes has already been shown. Therefore I assume that the refresh rate may increase in the next time above the 5.0 value selected in the example code.