본문 바로가기
JAVA

[Java/Android] 안드로이드 부팅 후 앱 자동 실행

by 고체물리학 2022. 4. 7.

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);
		  }
		  		       
	}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형

댓글