تحتاج بعض التطبيقات إلى إبقاء الشاشة قيد التشغيل، مثل الألعاب أو تطبيقات الأفلام. تُبقي بعض واجهات برمجة التطبيقات في Android الشاشة قيد التشغيل تلقائيًا. في حالات أخرى، يمكنك ضبط علامة لإبقاء الشاشة قيد التشغيل يدويًا.
إبقاء الشاشة مفعّلة يدويًا
لإبقاء شاشة الجهاز قيد التشغيل، اضبط العلامة FLAG_KEEP_SCREEN_ON في نشاطك. لا يمكن ضبط هذه العلامة إلا في نشاط، ولا يمكن ضبطها في خدمة أو مكوّن آخر
للتطبيق. على سبيل المثال:
class MainActivity : Activity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) } }
هناك طريقة أخرى لإبقاء الشاشة قيد التشغيل، وهي ضبط السمة android:keepScreenOn في ملف XML الخاص بتنسيق تطبيقك:
<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" يعادل استخدام
FLAG_KEEP_SCREEN_ON.
يمكنك استخدام أي من الطريقتين الأنسب لتطبيقك. تتمثل ميزة ضبط العلامة برمجيًا في نشاطك في أنها تمنحك خيار مسح العلامة برمجيًا لاحقًا وبالتالي السماح بإيقاف تشغيل الشاشة.
إذا انتقل تطبيق يحمل العلامة FLAG_KEEP_SCREEN_ON إلى الخلفية، يسمح النظام بإيقاف الشاشة بشكل طبيعي. لست بحاجة إلى محو العلامة
بشكل صريح في هذه الحالة. إذا لم يعُد تطبيقك بحاجة إلى إبقاء الشاشة قيد التشغيل،
عليك محو العلامة من خلال استدعاء
clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).
"وضع الاستراحة" على التلفزيون
على أجهزة التلفزيون، استخدِم FLAG_KEEP_SCREEN_ON لمنع الجهاز من الانتقال إلى وضع الاستراحة أثناء تشغيل الفيديو النشط. إذا لم يضبط النشاط في المقدّمة FLAG_KEEP_SCREEN_ON، يدخل الجهاز تلقائيًا في "وضع عدم النشاط" بعد فترة من عدم النشاط.