티스토리 뷰

[Android] 부팅 후 앱 자동 실행

안드로이드 단말에서 부팅 완료 된 후에 자동으로 특정 어플리케이션을 실행시키는 방법

 

상단 알림바, 위젯, 서비스단에서 실행되는 App들은 부팅 후 자동 실행된다.

아래 방법은 특정 앱을 구동 후에 자동으로 실행 되도록 하는 방법이다.

BroadcastReceiver 를 이용 한다.

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class Starter extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // TODO Auto-generated method stub
        String action = intent.getAction();
        if(action.equals("android.intent.action.BOOT_COMPLETED")) {
            Intent i = new Intent(context, MainActivity.class);
            i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

            context.startActivity(i);
            //context.startService(it); /* Service인 경우 에는 이와 같이 실행 */
        }
    }
}

 

위와 같이 브로드캐스트리시버를 사용하게 되면

부팅 완료후에 BOOT_COMPLETED ACTION Intent 를 받게 되며 이때 Receiver를 등록하여 해당 ACTION 을 받아서  MainActivity를 호출하게 한다.

그럼 부팅 완료 후 호출한 액티비티를 실행할 것이다.

 

Manifest.xml 에 리시버 등록

<!-- AndroidManifest.xml -->
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
 <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Holo"
        android:largeHeap="true"
        android:hardwareAccelerated="true">
        <receiver
            android:name=".Starter"
            android:enabled="true"
            android:exported="false"
            android:label="Starter" >
           
            <intent-filter>
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>
        <activity>
        ....
        </activity>
</application>

 

android.permission.RECEIVE_BOOT_COMPLETED user permission 추가

어플리케이션 태그 내에 receiver 태그를 위와 같이 추가.

기기를 재부팅시켜주면 구동 후 앱이 자동적으로 실행되는 것을 볼 수 있습니다.

 

* 잠금화면이 풀려있어야 정상적으로 실행되고 잠금화면이 설정되었다면 잠금 해제 시에 실행 됩니다.

 

 

 

'Computer > Android' 카테고리의 다른 글

[Android] 슬립 화면 깨우기  (0) 2021.01.14
[Android] Multi Touch Event Example  (0) 2020.12.05
[Android] Market App 종류 확인하기  (0) 2020.11.17
[Android] KeyEvent 강제 발생  (2) 2020.11.07
[Android] key event value  (0) 2020.11.07
댓글

파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음



Total
Today
Yesterday
최근에 달린 댓글