디바이스가 부팅됐을때 서비스를 시작하고싶은데 어떻게하면 될까요?
조회수 1813회
안드로이드 디바이스가 부팅됐을때 서비스를 시작하게 하려고 코드를 짰는데요. 제대로 동작을 안해요. 제가 뭐 실수한게 있나요?
AndroidManifest.xml
<receiver
android:name=".StartServiceAtBootReceiver"
android:enabled="true"
android:exported="false"
android:label="StartServiceAtBootReceiver" >
<intent-filter>
<action android:name="android.intent.action._BOOT_COMPLETED" />
</intent-filter>
</receiver>
<service
android:name="com.test.RunService"
android:enabled="true" />
BroadcastReceiver
public void onReceive(Context context, Intent intent) {
if ("android.intent.action.BOOT_COMPLETED".equals(intent.getAction())) {
Intent serviceLauncher = new Intent(context, RunService.class);
context.startService(serviceLauncher);
Log.v("TEST", "Service loaded at start");
}
}
1 답변
-
일단 안드로이드 매니페스트 파일에가셔서 **** 이걸 추가해주셔야됩니다.
그리고 애플리케이션의 원소에가서
<receiver android:name="com.example.MyBroadcastReceiver"> <intent-filter> <action android:name="android.intent.action.BOOT_COMPLETED" /> </intent-filter> </receiver>
이걸 추가해주시고요.
브로드캐스트리시버에 가셔서
package com.example; public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Intent startServiceIntent = new Intent(context, MyService.class); context.startService(startServiceIntent); } }
이런식으로해주세요.
댓글 입력