728x90
반응형
안드로이드에서 앱을 백그라운드 실행을 시키기 위해서 Service를 이용할 수 있다.
1. Service Class 만들기
Service을 이용하기 위해서 먼저 Service를 상속받는 class를 만들어줘야 한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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() {...}
}
|
cs |
위의 onCreate(), onDestory() 함수를 보면 알 수 있듯이 Service 또한 Activity처럼 생명주기를 가진다. 생명주기에 따라서 실행될 코드들을 적어줄 수 있다.
onCreate()는 Service가 처음 호출될 때
onStartCommand()는 Service가 호출될 때마다
onDestroy()는 Service가 중지될 때마다
호출되는 이벤트들을 정의한다.
2. startService
1
|
startService(new Intent(getApplicationContext(), ServiceName.class));
|
cs |
1
|
stopService(new Intent(getApplicationContext(), ServiceName.class));
|
cs |
Service를 실행시키고 종료시키기 위해서는 위 두 줄의 코드를 적절하게 사용해서 할 수 있다.
하지만 지금은 Manifest에 등록하지 않았기 때문에 제대로 실행되지 않을 것이다.
그래서 app\manifests\AndroidManifest.xml의 <application> 안에
1
|
<service android:name=".MusicService"/>
|
cs |
위 코드를 추가해줘야 한다.
728x90
반응형
'Android App' 카테고리의 다른 글
MediaRecorder (동영상 녹화), 권한 묻기 in Android Studio (0) | 2021.08.16 |
---|---|
드래그로 Fragment 크기 조절 in Android Studio (2) | 2021.08.09 |
dialog (팝업창) in Android Studio (0) | 2021.08.08 |
thread, handler (백그라운드) in Android Studio (0) | 2021.08.08 |
java 주석, Log in Android Studio (0) | 2021.08.02 |