więc przez długi czas myślałem, że wiem, jak zatrzymać ekran przed przejściem do trybu uśpienia, po prostu stosować ten kod w mojej działalności:ekran Keep on w działalności - nie działa z FLAG_KEEP_SCREEN_ON
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Jednak zdałem sobie sprawę, że działa to tylko wtedy, gdy mój telefon był w "trybie programisty", tj. Gdy debugowanie USB (Ustawienia -> Opcje programisty -> Debugowanie USB) zostało włączone/sprawdzone. Następnie powyższe kody rzeczywiście zatrzymują ekran/urządzenie, aby przejść do trybu uśpienia.
Kiedy to debugowanie nie jest sprawdzane, wtedy mój ekran zasypia, jakby nie było jutra. Na moim urządzeniu mam Androida 4.04 i
android:minSdkVersion="12"
android:targetSdkVersion="16"
Ktoś słyszał o tym problemie?
EDIT
Ja testowałem z Commonswares sugestią, i dodał setKeepScreenOn() w kodzie, więc wygląda to tak:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
View root = findViewById(android.R.id.content);
if (root != null)
root.setKeepScreenOn(true);
Mam też sprawdzone tak, że ten kod jest faktycznie wykonane i tak jest. Ale to się nie zmienia ...
Ill spróbować, ale wydaje się, że może pracować nawet FLAG_KEEP_SCREEN_ON jeśli aplikacja jest „wdrożone” przez Eclipse, ale * nie * jeśli mogę pobrać dokładnie ten sam kod z Google Play. A jednak wszyscy "na zewnątrz" w sieci mówią, że FLAG_KEEP_SCREEN_ON działa ... Nie mogę być jedynym z tym problemem? – Ted
Ponieważ nigdy nie użyłem 'FLAG_KEEP_SCREEN_ON' i użyłem tylko' setKeepScreenOn() '(ponieważ jest to prostsze), nie mogę komentować skuteczności twojego kodu' FLAG_KEEP_SCREEN_ON'. – CommonsWare
OK, nie działa również z funkcją setKeepScreenOn(). – Ted