Ekranı açık tut

Oyun veya film uygulamaları gibi belirli uygulamaların ekranı açık tutması gerekir. Bazı Android API'leri ekranı sizin için otomatik olarak açık tutar. Diğer durumlarda, ekranı manuel olarak açık tutmak için bir işaret ayarlayabilirsiniz.

Ekranı manuel olarak açık tutma

Cihazın ekranını açık tutmak için etkinliğinizde FLAG_KEEP_SCREEN_ON işaretini ayarlayın. Bu işaret yalnızca bir etkinlikte ayarlanabilir, hiçbir zaman bir hizmette veya başka bir uygulama bileşeninde ayarlanamaz. Örneğin:

class MainActivity : Activity() {

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

Ekranı açık tutmanın bir diğer yolu da uygulamanızın düzen XML dosyasında android:keepScreenOn özelliğini ayarlamaktır:

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

android:keepScreenOn="true" kullanmak, FLAG_KEEP_SCREEN_ON kullanmakla eşdeğerdir. Uygulamanız için en uygun yaklaşımı kullanabilirsiniz. İşaretçiyi etkinliğinizde programatik olarak ayarlamanın avantajı, daha sonra işaretçiyi programatik olarak temizleme ve böylece ekranın kapanmasına izin verme seçeneği sunmasıdır.

FLAG_KEEP_SCREEN_ON işaretine sahip bir uygulama arka plana geçerse sistem, ekranın normal şekilde kapanmasına izin verir. Bu durumda işareti açıkça temizlemeniz gerekmez. Uygulamanızın artık ekranı açık tutması gerekmiyorsa clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) yöntemini çağırarak işareti temizlemeniz gerekir.

TV için Ambiyans Modu

TV cihazlarında, etkin video oynatma sırasında cihazın Ambiyans Modu'na girmesini önlemek için FLAG_KEEP_SCREEN_ON kullanın. Ön plan etkinliği FLAG_KEEP_SCREEN_ON değerini ayarlamazsa cihaz, bir süre işlem yapılmadığında otomatik olarak ambiyans moduna girer.

Aşağıdaki kaynakları da incelemenizi öneririz: