השארת המסך פועל

אפליקציות מסוימות, כמו משחקים או אפליקציות של סרטים, צריכות שהמסך יישאר דולק. חלק מממשקי ה-API של 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, המכשיר נכנס באופן אוטומטי למצב רגיש לסביבה אחרי תקופה של חוסר פעילות.

עוד באותו הקשר