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 메서드로 서비스가 스스로 종료할 때 이 식별자가 사용됩니다. |
'Development > Android' 카테고리의 다른 글
위젯 크기 구성 (너비, 높이 모드) (0) | 2019.03.04 |
---|---|
Activity(액티비티) (0) | 2019.03.04 |
Error-The ADB binary found at C:\CodeLab\Android\sdk\platform-tools\adb.exe is obsolete and has seriousperformance problems with the Android Emulator. 해결방법 (0) | 2019.03.02 |
LayoutManger(레이아웃 매니저) (0) | 2019.03.02 |
ConstraintLayout 디자인편집기 도구모음 아이콘 (0) | 2019.03.02 |