본문으로 건너뛰기

service

Service (백그라운드) in Android Studio

이 글은 기존 블로그의 원문에서 가져왔습니다. 원문 작성일: 2021-08-09

Service 참고 영상 (YouTube)

안드로이드에서 앱을 백그라운드 실행을 시키기 위해서 Service를 이용할 수 있다.

1. Service Class 만들기

Service을 이용하기 위해서 먼저 Service를 상속받는 class를 만들어줘야 한다.

public class ServiceName extends Service {
 
    @Nullable
    @Override
    public IBinder onBind(Intent intent) {...}
 
    @Override
    public void onCreate() {...}
 
    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {...}
 
    @Override
    public void onDestroy() {...}
}

위의 onCreate(), onDestory() 함수를 보면 알 수 있듯이 Service 또한 Activity처럼 생명주기를 가진다. 생명주기에 따라서 실행될 코드들을 적어줄 수 있다.

onCreate()는 Service가 처음 호출될 때

onStartCommand()는 Service가 호출될 때마다

onDestroy()는 Service가 중지될 때마다

호출되는 이벤트들을 정의한다.

2. startService

startService(new Intent(getApplicationContext(), ServiceName.class));
stopService(new Intent(getApplicationContext(), ServiceName.class));

Service를 실행시키고 종료시키기 위해서는 위 두 줄의 코드를 적절하게 사용해서 할 수 있다.

하지만 지금은 Manifest에 등록하지 않았기 때문에 제대로 실행되지 않을 것이다.

그래서 app\manifests\AndroidManifest.xml의 안에

<service android:name=".MusicService"/>

위 코드를 추가해줘야 한다.