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


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

  • 2016년 02월 11일에 작성됨

조회수 267


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를 받아서 처리하는 리시버 클래스를 정의해줍니다.

  • 2016년 02월 11일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close