1. AndroidManifest.xml
- permission 추가
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
2. <activity></activity> 아래에 receiver 추가
<receiver
android:name=".Boot"
android:enabled="true"
android:exported="true">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
android:enabled="true" // 안드로이드 시스템 호출
android:exported="true" // 다른 애플리케이션의 구성요소로 액티비티를 시작할 수 있으면 true, 그렇지 않으면 false
- 백그라운드에서 실행할 서비스 추가(없으면 생략 가능)
<service
android:name=".Boot_Service"
android:enabled="true"
android:exported="true"
android:process=":remote" >
</service>
자동 실행할 Boot 클래스
public class Boot extends BroadcastReceiver{
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
// 전달된 값이 '부팅완료' 인 경우에만 동작 하도록 조건문을 설정
if (action.equals("android.intent.action.BOOT_COMPLETED")) {
Log.v("Test", "Boot");
// 부팅 이후 처리해야 코드 작성
// 액티비티 호출
Intent i = new Intent(context, MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
// 서비스 호출 하고 싶으면 서비스도 같이 실행됨, AndroidManifest.xml에 <service>추가 해야함
i = new Intent(context, Boot_Service.class);
context.startService(i);
}
}
}
반응형
'JAVA' 카테고리의 다른 글
[안드로이드/JAVA] gif파일 만들기, animation-list 사용 (0) | 2022.05.09 |
---|---|
[Java] 안드로이드 화면 제어하는 코드 (0) | 2022.04.22 |
[Java/Android] 안드로이드 볼륨 조절하기 (0) | 2022.03.29 |
[Java] 특정 날짜가 유효기간 내에 있는지 확인 하는 방법 (0) | 2021.11.19 |
[Java] 값 비교하기 compareTo 사용하기 (0) | 2021.11.17 |
댓글