안드로이드 자바
[Android][Java] 부팅/재부팅 시 실행되는 서비스 만들기
teamnova
2023. 4. 11. 12:00
728x90
개발을 하다 보면 부팅 혹은 재부팅 될 때 실행되는 컴포넌트를 만들어야 할 때가 있습니다.
대표적으로 알람이나 채팅 같은 경우를 들 수 있겠습니다.
오늘은 부팅/ 재 부팅 시 실행되는 서비스를 만들어 주겠습니다.
오늘 포스팅은 이전 서비스이해를 위한 예제에 추가로 작성하겠습니다.
다음 링크된 포스팅을 우선 확인해 주세요
https://stickode.tistory.com/736
https://stickode.tistory.com/749
1.BOOT_COMPLETED 수신 권한 추가
부팅이 될때 앱은 안드로이드로 부터 이 시스템이 부팅되었다 라는 알림을 받아야 합니다.
이를 위해 부팅이 완료 되었음을 수신할 수 있는 권한을 추가해 줍니다.
AndroidManifest.xml 에 다음과같은 권한을 추가해 줍니다.
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"></uses-permission>
2. Receiver 에 intent filter 적용시켜 주기
마찬가지로 AndroidManifest.xml 에서
이전 예제에서 작성해주었던 MyBroadcastReceiver 에 부팅을 감지하는 인텐트 필터를 작성해 줍니다.
<receiver android:name=".MyBroadcastReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"></action>
</intent-filter>
</receiver>
이제 해당 프로젝트를 다시한번 실행 시킨뒤 가상디바이스를 다시 재부팅 해 보면
정상적으로 서비스가 다시 실행되는것을 확인할 수 있습니다.