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. Örnek:

Kotlin

class MainActivity : Activity() {

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

Java

public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  }
}

Ekranı açık tutmanın bir başka yolu da uygulamanızın sayfa düzeni 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 aynıdır. Uygulamanız için en uygun yaklaşımı kullanabilirsiniz. Etkinliğinizde işareti programatik olarak ayarlamanın avantajı, daha sonra işareti 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) çağrısını yaparak işareti temizlemeniz gerekir.

TV için Ambiyans Modu

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

Ayrıca bkz.