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