Cihazı geçici olarak uyanık tutmak için uyanık tutma kilidi ayarlayabilirsiniz.
Bağımlılıklar
Uygulamanızın, uyandırma kilidi ayarlamak için WAKE_LOCK
izni olmalıdır.
İzni uygulamanızın manifest dosyasına ekleyin:
<uses-permission android:name="android.permission.WAKE_LOCK" />
Uyanık kalma kilidi oluşturma ve edinme
Uyanık kalma kilidi almak için aşağıdakileri yapın:
Uyandırma kilidi oluşturmak için
PowerManager.newWakeLock()
çağrısı yapın. Bu komut,PowerManager.WakeLock
nesnesi oluşturup yapılandırır ancak cihazı uyanık tutmaz.Cihazı uyanık tutmak istediğinizde, uyandırma kilidi nesnesinin
acquire()
yöntemini çağırın.
Örneğin, uygulamanızda bazı işlemleri yapmak için hizmet kullanan bir yayın alıcısı varsa uyanık tutma kilidi ayarlamak ve edinmek için bu kodu kullanabilirsiniz:
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); PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyClassName::MyWakelockTag"); wakeLock.acquire();
Bu kodla ilgili önemli noktalar
Kod, uyandırma kilidi nesnesini oluştururken uyandırma kilidi etiketinin bir parçası olarak sınıfın adını kullanır. Paket, sınıf veya yöntem adınızı uyandırma kilidi etiketine eklemenizi öneririz. Bu sayede, bir hata oluşursa kaynak kodunuzdaki uyandırma kilidini bulmanız daha kolay olur. Daha fazla bilgi için Uyanık kalma kilidini uygun şekilde adlandırma başlıklı makaleyi inceleyin.