개발자의 끄적끄적

[android] 부팅시 자동 실행하기 본문

개발/android & ios

[android] 부팅시 자동 실행하기

효벨 2020. 7. 4. 02:00
728x90
반응형

[android] 부팅시 자동 실행하기

 

 

부팅시 앱이나 서비스를 자동 실행하도록 만들어 보자.

 

부팅시 브로드 캐스트 리시브를 통해서 액션을 받는다.

 

먼저 부팅시 리시브를 받을려면 퍼미션을 설정한다.

 

AndroidManifest.xml

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
리시버를 등록한다.
<receiver
    android:name=".MyAutoRunApp"
    android:enabled="true"
    android:exported="false">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
    </intent-filter>
</receiver>

enabled="true" 를 해야 시스템이 호출을 하게 된다.


exported="false" 는 외부 어플리케이션은 사용할수 없고 같은앱에서 호출가능하다.

 

 

호출될 MyAutoRunApp 클래스를 보자.

public class MyAutoRunApp extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals("android.intent.action.BOOT_COMPLETED")){
            Intent it = new Intent(context, FirstActivity.class);
            it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(it);
        }
    } 
}

 

앱이 아니라 서비스를 실행한다면..

public class MyAutoRunApp extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)){
            Intent it = new Intent(context, FirstService.class);
            context.startService(it);
        }
    } 
}

"android.intent.action.BOOT_COMPLETED"


Intent.ACTION_BOOT_COMPLETED 와 동일하다.

 

 

출처 : http://blog.naver.com/PostView.nhn?blogId=forioso&logNo=221315064591&categoryNo=0&parentCategoryNo=0&viewDate=¤tPage=1&postListTopCurrentPage=1&from=postView&userTopListOpen=true&userTopListCount=30&userTopListManageOpen=false&userTopListCurrentPage=1

반응형
Comments