제이슨의 개발이야기

FCM 푸시메시지 보낼때 안드로이드 화면 깨우기 Kotlin 본문

안드로이드

FCM 푸시메시지 보낼때 안드로이드 화면 깨우기 Kotlin

제이쓰은 2021. 5. 28. 18:04
728x90
반응형

저번 시간 푸시메시지 관련글 

https://jason-api.tistory.com/62

 

제이쓴

안드로이드 코딩테스트 컴퓨터과학

jason-api.tistory.com

안녕하세요 저번에 푸시메시지 기능 구현을 했었는대 화면이 꺼저있을때 푸시메시지가 올 경우 그 전 구현 상황에서는 화면이 켜지지 않고 진동 혹은 알림음 만 들리게 됩니다 

화면을 깨워서 정확히 푸시 메시지가 왔다라는 것을 알리고 싶은면 개발자가 따로 코드를 작성 해주어야 화면이 깨어나서 푸시메시지를 보여줄수 있습니다! 

 

    override fun onMessageReceived(remotemessage: RemoteMessage) {

        val pm =
            getSystemService(Context.POWER_SERVICE) as PowerManager
        @SuppressLint("InvalidWakeLockTag") val wakeLock =
            pm.newWakeLock(
                PowerManager.SCREEN_DIM_WAKE_LOCK
                        or PowerManager.ACQUIRE_CAUSES_WAKEUP, "TAG"
            )
        wakeLock.acquire(3000)
        wakeLock.release()
            remotemessage.data.get("title")?.let { sendNotification(remotemessage.data.get("body")!!, it) }

    }

이 onMessageReceived 메소드에서 remotemessage.data~~ 이부분을 제외한 상단 부분을 작성하면 푸시 메시지가 올때 화면이 깨어납니다!

저도 아직 공부중이라서 잘은 모르지만 PowerManager 클래스는 안드로이드 기기 내에 전력에 관련된 기능을 제어할 수 있는 객체이지 않을까 싶습니다 ㅎㅎ 

 

728x90
반응형