Background 동작 처리

Connection-oriented 방식을 사용하는 PoC 의 경우 application 이 background 로 전활될 경우 필요하다면 연결을 끊어주어야 합니다.

NUGU 회원 연동 방식의 PoC 에서 OAuth token 발급 결과 scope 에 “device:S.I.D” 가 포함된 경우에만 connection-oriented 방식을 사용합니다.

Background 연결 종료

복사성공!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class MyApplication : Application() {
    override fun onCreate() {
        super.onCreate()

        ProcessLifecycleOwner.get().lifecycle
            .addObserver(MyLifecycleObserver())
    }
}

class MyLifecycleObserver : LifecycleObserver {

    @OnLifecycleEvent(Lifecycle.Event.ON_START)
    fun onForeground() {
        // 재연결
        ClientManager.getClient().networkManager.startReceiveServerInitiatedDirective()
    }

    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
    fun onBackground() {
        // 연결 종료
        ClientManager.getClient().networkManager.stopReceiveServerInitiatedDirective()
    }
}