2014년 6월 9일 월요일

[Android] 자동실행(Auto Booting)


자동실행(Auto Booting)



안드로이드 프로그램들 중에는 스마트폰이 켜짐과 함께 실행이 되는 프로그램들이 몇개 있습니다.
이번에는 자동실행(AutoBooting)이라는 기능을 알아보려고 합니다.

MainActivity 클래스를 그대로 두고 아래 활용예제와 같이 AutoBootingSystem 이라는 클래스를 하나 만들도록 합니다. 이 클래스는 BroadcastReceiver 를 상속합니다.

BroadcastReceiver 를 간단하게 설명하자면 시스템에 변화(배터리 부족, 네트워크 변경 등)가 있을 때마다 보내는 신호와 관련있는 객체입니다.





자동실행(AutoBooting) 을 사용하기 위해서는


manifest에 permission을 지정해야만 합니다.


<manifest>
    
                      <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

</manifest>



활용예제



아래 코드를 manifest 의 '<activity ></activity>' 다음에 추가해줍니다.


<receiver

            android:name="패키지이름.AutoBootingSystem"
            android:enabled="true"
            android:permission="android.permission.RECEIVE_BOOT_COMPLETED" >

            <intent-filter>

                <action android:name="android.intent.action.BOOT_COMPLETED" />

                <category android:name="android.intent.category.DEFAULT" />

            </intent-filter>

</receiver>


---------------------------------------------------------------------------------------------

AutoBootingSystem.class

public class AutoBootingSystem extends BroadcastReceiver {
              @Override
               public void onReceive(Context context, Intent intent) {
                             Intent i = new Intent(context, MainActivity.class);
                             i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                             context.startActivity(i);
               }
}




댓글 2개:

  1. 마침 필요하던 내용인데 감사합니다. 많은 도움이 되었습니다.

    답글삭제