推送通知到达时的WakeLock设备

时间:2019-02-13 11:05:09

标签: android push-notification screen wakelock

我在FCM应用中使用android来接收推送通知。它运作良好,但在某些设备上,当按下按钮时屏幕无法打开。为了解决这个问题,我在FirebaseMessagingService类中使用了下一个代码:

@SuppressLint("InvalidWakeLockTag")
private fun wakeLockDevice() {
    val powerManager = (getSystemService(Context.POWER_SERVICE) as PowerManager)
    if (!powerManager.isInteractive) {
        val wakeLock = powerManager.newWakeLock(
            PowerManager.SCREEN_BRIGHT_WAKE_LOCK or
                    PowerManager.ACQUIRE_CAUSES_WAKEUP,
            "SOME_TAG"
        )
        wakeLock.acquire()
        wakeLock.release()
    }
}

这段代码也很好用。但是有一件事让我担心。这是不推荐使用的部分:

PowerManager.SCREEN_BRIGHT_WAKE_LOCK

如何重构方法wakeLockDevice()来逃避所有不推荐使用的东西?并且可以在FirebaseMessagingService中调用此方法。

0 个答案:

没有答案