본문 바로가기

안드로이드

HEALTH-ER 알람 기능 - Service & Receiver

- 개요

  HEALTH-ER에서 휴식 시간 알람기능을 구현함.

 

- 학습 정보

  BroadcastReceiver, JobIntentService

 

 *기본 흐름 : main에서 alarmManager를 설정하면 해당 시각에 receiver가 수신하고 recevier가 service를 실행시킴.

 

*jobIntentService란?

안드로이드 O부터는 백그라운드 서비스를 제한한다.

-enqueueWork : 안드로이드 N 이하에서 startService와 같은 역할

-onHandleWork : enqueueWork에 의해 enqueue된 Intent(work변수)가 전달되는 위치

* TaskStackBuilder란?

보통의 액티비티 전환 흐름은

메인 액티비티 -> 특정 액티비티의 순서로 전환되고 back 버튼 클릭시 다시 메인 액티비티로 돌아온다.

taskStackBuilder를 사용하면 어떤 notification이 왔을때 바로 특정한 액티비티로 이동할 수 있게 해준다. back 버튼 클릭 시 앱이 종료된다.