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

אפשר להגדיר נעילת התעוררות כדי שהמכשיר יישאר פעיל באופן זמני.

יחסי תלות

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

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

יצירה וקבלה של נעילת התעוררות

כדי לקבל נעילת התעוררות:

  1. קוראים לפונקציה PowerManager.newWakeLock() כדי ליצור נעילת התעוררות. הפקודה הזו יוצרת ומגדירה אובייקט PowerManager.WakeLock, אבל לא שומרת בפועל על המכשיר במצב פעיל.

  2. כדי למנוע מהמכשיר לעבור למצב שינה, צריך לקרוא ל-method‏ acquire() של אובייקט נעילת ההתעוררות.

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

Kotlin

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

Java

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

נקודות עיקריות לגבי הקוד הזה

כשיוצרים את אובייקט נעילת ההתעוררות בקוד, נעשה שימוש בשם הכיתה כחלק מתג נעילת ההתעוררות. מומלץ לכלול את שם החבילה, הכיתה או השיטה כחלק מתג נעילת ההתעוררות. כך, אם תופיע שגיאה, יהיה קל יותר לאתר את נעילת ההתעוררות בקוד המקור. מידע נוסף זמין במאמר מתן שם נכון למנעול ההתעוררות.

למידע נוסף