서비스 사용하기, 매니페스트 파일에 service 태그 추가, 서비스 시작, 제어, 상호작용

CODEDRAGON Development/Android

반응형


 

서비스 사용하기

·         백드라운드 작업은 서비스로 실행되며 사용자에게는 알림메시지(알림서비스) 이용해 알려줍니다.

·         메인 Activity 결과값을 전달하고 이를 활용해 다른 작업을 수행해야 한다면 브로드캐스팅 이용해 결과값을 전달할 있습니다.

 

 

 

 

 

 

 

매니페스트 파일에 service 태그 추가

 

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

또는

<service android:name=".MusicService">

           <intent-filter>

                     <action android:name="dr.android.service.SERVICE"/>

           </intent-filter>

</service>

 

 

 

 

 

 

 

 

서비스 시작, 제어, 상호작용

클라이언트에서 서비스를 시작 중지할 사용하는 메소드들입니다.

 

 

 

startService() : 서비스를 시작

//암시적으로 서비스를 시작시킵니다.

startService(new Intent(액션명));

 

//명시적으로 서비스를 시작시킵니다.

startService(new Intent(this, MyService.class));

 

 

 

 

stopService() : 서비스를 중지

boolean stopService (Intent service)

 

 

 

 

onStartCommand() : 백그라운드 작업

int onStartCommand (Intent intent, int flags, int startId)

 

클라이언트가 startService() 메서드로 서비스를 기동시키면 onStartCommand() 메서드가 호출되는데 이후부터 백그라운드 동작을 본격적으로 시작합니다.

 

인자

설명

intent

Intent 클라이언트가 서비스를 시작할 전달한 인텐트이고, 만약 프로세스가 강제 종료된 시작되는 것이라면 이때는 null 전달됩니다.

flags

Flags 서비스의 요청에 대한 추가 정보입니다.

startId

서비스 요청에 대한 고유한 식별자입니다.

차후 stopSelfResult 메서드로 서비스가 스스로 종료할 식별자가 사용됩니다.