2013-03-05 20 views
5

Chciałbym, aby moja aplikacja była bardziej przyjazna dla ekranów z atramentem, tj. Zmniejszania gradientów, usuwania animacji itp. Zanim będę mógł dodać oddzielne układy dla tych typów ekranu, najpierw potrzebuję sposobu ich wykrycia. Czy ktoś znalazł dobry sposób na zrobienie tego?Android: jak wykrywać ekran e-atramentu?

Klasa Display nie wygląda to zapewnienie sposób wykryć typ wyświetlacza ...

Edit: Przez ekran e-ink, znaczy się ekran, który pracuje z e-paper technology.

+1

Czy testowałeś metodę 'getRefreshRate()'? Zwykle wyświetlacze ePaper są wolniejsze niż wyświetlacze LCD/OLED. – Robert

+0

twoje que nie ma w objaśnieniu. dodaj zrzut ekranu lub więcej szczegółów, aby inni wiedzieli, co masz na myśli przez ekrany z atramentem i jaki termin "przyjazny" tutaj wygłaszasz? –

+0

@Robert Dzięki, to jest dobry pomysł! Spróbuję tego. – Flo

Odpowiedz

4

Aktualne wyświetlacze ePaper mają bardzo wolną prędkość odświeżania w porównaniu do wyświetlaczy LCD i OLED, dlatego powinno być możliwe wykrycie ich za pomocą wartości dostarczonej przez Display.getRefreshRate().

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

Jednak na niektórych targach pokazano już prototypy wyświetlania wideo z obsługą protokołu ePaper. Dlatego zakładam, że częstotliwość odświeżania może wzrosnąć następnym razem powyżej wartości 5.0 wybranej w przykładowym kodzie.

+0

Niestety, niektóre urządzenia zgłaszają wysoką częstotliwość odświeżania (przynajmniej Nook Simple Touch zgłasza 68,0 fps). Przepraszam, ale muszę zgodzić się. –

+0

Dzięki za te informacje. W każdym razie moja odpowiedź nie jest zła, ponieważ nigdy nie stwierdziłem, że jest to 100% rozwiązanie do wykrywania wszystkich urządzeń z e-papieru. Jest to jednak nadal ważny wskaźnik dla wielu urządzeń wyposażonych w e-papier. To, że nie działa w twoim przypadku, to inny temat. – Robert