728x90
반응형
안드로이드에서 백그라운드딴에서 앱이 종료되도 주기적으로 서버와 통신하며 상태를 확인해보는 작업을 해볼게요.
프로젝트에서 오른쪽 클릭해서 new - Service - Service 해서 서비스를 상속받는 클래스를 만들어주세요 (안드로이드 4대 컴포넌트!!)
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
}
이게 초기상태로 작성된 서비스를 상속받은 클래스입니다.
여기서 onStartCommand 라는 함수를 오버라이딩 해줄게요.
Window는 컨트롤 + O
Mac은 커멘드 + O
누르시면 그 클래스 내에서 오버라이드 가능한 함수 목록을 표기해줍니다.
onstart 만 검색해도 바로 나오네요..!!
public class MyService extends Service {
public MyService() {
}
@Override
public IBinder onBind(Intent intent) {
// TODO: Return the communication channel to the service.
throw new UnsupportedOperationException("Not yet implemented");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return super.onStartCommand(intent, flags, startId);
}
}
자 그럼 이러한 형태로 나옵니다.
그럼 저기 onStartCommand 안에다가 백그라운드에서 하고싶은 작업을 작성해주시면 되는데요.
자 이제 백그라운드를 시작하고싶은 엑티비티 내에서 onStop 생명주기를 작성해주시고
Intent MyServiceIntent = new Intent(getApplicationContext(),MyService.class);
startService(MyServiceIntent);
Log.d("확인","백그라운드 시작");
그 안에 이렇게 작성해주시면 서비스를 시작할수있습니다.
반대로 서비스를 종료하고 싶으실때는
stopService(MyServiceIntent);
이렇게 startService대신 써주시면 종료됩니다.
레트로핏은
https://onedaycodeing.tistory.com/118
해당 게시글을 참고해주세요!
728x90
반응형
'Android' 카테고리의 다른 글
android11 intent 패키지명으로 외부 앱 실행 시 안되는 현상 (0) | 2021.07.22 |
---|---|
Android (타이머) 시간마다 실행하기 (주기별 실행) (0) | 2021.07.02 |
안드로이드 스튜디오 현재 기기의 배터리 잔량 파악하기. (0) | 2021.06.24 |
안드로이드 AppCompatActivity 상속 관련 에러 (0) | 2021.03.26 |
안드로이드 WebView로 구현된 프로그램이 강제종료되는 이슈 (0) | 2021.03.23 |
댓글