Я использую FCM
в своем приложении android
для получения push-уведомлений.Это работает хорошо, но на некоторых устройствах экран не включается при появлении толчков.Для решения этой проблемы я использую следующий код в моем 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
.