Nie wyłączaj ekranu

Niektóre aplikacje, np. gry lub aplikacje do odtwarzania filmów, wymagają, aby ekran był włączony. Niektóre interfejsy API Androida automatycznie utrzymują włączony ekran. W innych przypadkach możesz ustawić flagę, aby ręcznie utrzymać włączony ekran.

Ręczne utrzymywanie włączonego ekranu

Aby ekran urządzenia był cały czas włączony, ustaw flagę FLAG_KEEP_SCREEN_ON w aktywności. Tę flagę można ustawić tylko w aktywności, nigdy w usłudze ani innym komponencie aplikacji. Przykład:

class MainActivity : Activity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
    }
}

Innym sposobem na utrzymanie włączonego ekranu jest ustawienie atrybutu android:keepScreenOn w pliku XML układu aplikacji:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:keepScreenOn="true">
    ...
</RelativeLayout>

Użycie android:keepScreenOn="true" jest równoważne użyciu FLAG_KEEP_SCREEN_ON. Możesz użyć dowolnego podejścia, które najlepiej pasuje do Twojej aplikacji. Zaletą programowego ustawiania flagi w aktywności jest to, że później możesz ją programowo wyczyścić, co pozwoli na wyłączenie ekranu.

Jeśli aplikacja z flagą FLAG_KEEP_SCREEN_ON przejdzie w tło, system pozwoli na normalne wyłączenie ekranu. W takim przypadku nie musisz wyraźnie usuwać flagi. Jeśli aplikacja nie musi już utrzymywać włączonego ekranu, należy wyczyścić flagę, wywołując metodę clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).

Tryb nieaktywny na telewizorze

Na telewizorach używaj FLAG_KEEP_SCREEN_ON, aby zapobiec przechodzeniu urządzenia w tryb nieaktywny podczas aktywnego odtwarzania filmu. Jeśli aktywność na pierwszym planie nie ustawia właściwości FLAG_KEEP_SCREEN_ON, urządzenie automatycznie przechodzi w tryb nieaktywny po okresie braku aktywności.

Zobacz też