Uyanık kalma kilidi ayarla

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:

  1. 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.

  2. 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.

Ayrıca bkz.