디바이스 재부팅했을때 앱이 켜지게 할수는 없을까요?

조회수 2526회

제가 샘플 코드를 찾긴했는데 이게 너무 오래되서 더이상 해당 클래스들이 deprecated됐어요. 그래서 이제는 안되나 싶어서 질문드려요.

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    가능합니다. 안드로이드 매니페스트 파일에서 permission을 주고 <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

    <service android:name=".MyService" android:label="My Service">
        <intent-filter>
            <action android:name="com.myapp.MyService" />
        </intent-filter>
    </service>
    
    <receiver
        android:name=".receiver.StartMyServiceAtBootReceiver"
        android:label="StartMyServiceAtBootReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    

    이런식으로 BOOT_COMPLETED를 받을수있게 리시버를 등록해줍니다.

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

    그리고 BOOT_COMPLETED를 받아서 처리하는 리시버 클래스를 정의해줍니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)