הגדרה וניהול של חסימות מצב שינה

אם אתם צריכים להשאיר מכשיר פעיל כדי להשלים עבודה מסוימת לפני שהוא עובר למצב השהיה, תוכלו להשתמש בתכונה של שירות המערכת PowerManager שנקראת נעילת התעוררות. נעילת ההתעוררות מאפשרת לאפליקציה לשלוט במצב האנרגיה של המכשיר.

הגדרת נעילה מצב שינה

כדי להשתמש במנעול ההתעוררות, השלב הראשון הוא להוסיף את ההרשאה WAKE_LOCK לקובץ המניפסט של האפליקציה:

<uses-permission android:name="android.permission.WAKE_LOCK" />

אם האפליקציה כוללת מקלט שידורים שמשתמש בשירות כדי לבצע עבודה כלשהי, כך מגדירים את נעילת ההתעוררות ישירות:

Kotlin

val wakeLock: PowerManager.WakeLock =
        (getSystemService(Context.POWER_SERVICE) as PowerManager).run {
            newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp::MyWakelockTag").apply {
                acquire()
            }
        }

Java

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
        "MyApp::MyWakelockTag");
wakeLock.acquire();

שחרור של חסימת מצב שינה

כדי לבטל את נעילת ההתעוררות, מפעילים את הפונקציה wakelock.release(). כך תוכלו לבטל את הבקשה לשימוש במעבד. חשוב לבטל את נעילת ההפעלה ברגע שהאפליקציה לא משתמשת בה יותר, כדי למנוע שחיקה של הסוללה.

למידע נוסף