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.