Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Niektóre aplikacje, takie jak gry czy aplikacje do filmów, wymagają włączonego ekranu.
Niektóre interfejsy API Androida automatycznie utrzymują ekran włączony. W innych przypadkach możesz ustawić flagę, aby ręcznie włączyć tryb wyświetlania.
Ręczne pozostawianie ekranu włączonego
Aby utrzymać ekran urządzenia włączony, ustaw w swojej aktywności flagę FLAG_KEEP_SCREEN_ON. Ten parametr może być ustawiany tylko w aktywności, nigdy w usłudze ani innym komponencie aplikacji. Przykład:
Użycie android:keepScreenOn="true" jest równoznaczne z użyciem FLAG_KEEP_SCREEN_ON.
Możesz użyć dowolnego podejścia, które najlepiej pasuje do Twojej aplikacji. Zaletą ustawiania flagi w ramach aktywności jest to, że możesz ją później wyczyścić programowo, a tym samym wyłączyć ekran.
Jeśli aplikacja z flagą FLAG_KEEP_SCREEN_ON przechodzi do działania w tle, system pozwala na normalne wyłączenie ekranu. W tym przypadku nie musisz wyraźnie odznaczać flagi. Jeśli aplikacja nie musi już utrzymywać ekranu włączonego, usuń flagę, wywołując funkcję clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).
Tryb nieaktywny na telewizorze
Na urządzeniach telewizyjnych użyj FLAG_KEEP_SCREEN_ON, aby urządzenie nie przechodziło w tryb nieaktywny podczas aktywnego odtwarzania filmu. Jeśli aktywność na pierwszym planie nie jest ustawiona na FLAG_KEEP_SCREEN_ON, po pewnym czasie bezczynności urządzenie automatycznie przejdzie w tryb Ambient.
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2025-07-27 UTC."],[],[],null,["# Keep the screen on\n\nCertain apps need to keep the screen turned on, such as games or movie apps.\nSome Android APIs automatically keep the screen on for you. In other cases,\nyou can set a flag to manually keep the screen on.\n| **Note:** Keeping the device's screen on can drain the battery quickly. Ordinarily, you should let the device turn the screen off if the user is not interacting with it. If you do need to keep the screen on, do so for as short a time as possible.\n\nManually keep the screen on\n---------------------------\n\nTo keep the device's screen on, set the [`FLAG_KEEP_SCREEN_ON`](/reference/android/view/WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON) flag in your\nactivity. This flag may only be set in an activity, never in a service or other\napp component. For example: \n\n### Kotlin\n\n```kotlin\nclass MainActivity : Activity() {\n\n override fun onCreate(savedInstanceState: Bundle?) {\n super.onCreate(savedInstanceState)\n setContentView(R.layout.activity_main)\n window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)\n }\n}\n```\n\n### Java\n\n```java\npublic class MainActivity extends Activity {\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_main);\n getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);\n }\n}\n```\n\nAnother way to keep the screen on is by setting the\nthe [`android:keepScreenOn`](/reference/android/R.attr#keepScreenOn) attribute\nin your application's layout XML file: \n\n```xml\n\u003cRelativeLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"\n android:layout_width=\"match_parent\"\n android:layout_height=\"match_parent\"\n android:keepScreenOn=\"true\"\u003e\n ...\n\u003c/RelativeLayout\u003e\n```\n\nUsing `android:keepScreenOn=\"true\"` is equivalent to using\n[`FLAG_KEEP_SCREEN_ON`](/reference/android/view/WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON).\nYou can use whichever approach is best for your app. The advantage of setting\nthe flag programmatically in your activity is that it gives you the option of\nprogrammatically clearing the flag later and thereby allowing the screen to turn\noff.\n\nIf an app with the `FLAG_KEEP_SCREEN_ON` flag goes into the background, the\nsystem allows the screen to turn off normally. You don't need to explicitly\nclear the flag in this case. If your app no longer needs to keep the screen on,\nyou should clear the flag. by calling\n[`clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)`](/reference/android/view/Window#clearFlags(int)).\n\n### Ambient Mode for TV\n\nOn TV devices, use [`FLAG_KEEP_SCREEN_ON`](/reference/android/view/WindowManager.LayoutParams#FLAG_KEEP_SCREEN_ON) to prevent the device from going\ninto [Ambient Mode](/training/tv/playback/ambient-mode) during active video playback. If the foreground activity\ndoes not set `FLAG_KEEP_SCREEN_ON`, the device automatically enters Ambient Mode\nafter a period of inactivity.\n\nSee also\n--------\n\n- [Keep the device awake](/develop/background-work/background-tasks/awake)\n- [Use wake locks](/develop/background-work/background-tasks/awake/wakelock)"]]