2013-03-12 2 views
0

휴대 전화가 HTC G18이며 부팅 수신기로 작업하고 있습니다.Android 부트 서비스가 작동하지 않습니다.

<receiver android:name=".BootReceiver"> 
     <intent-filter> 
      <action android:name="android.intent.action.BOOT_COMPLETED" /> 
      <category android:name="android.intent.category.HOME" /> 
     </intent-filter> 
    </receiver> 

및 자바 코드는 내가이 명령을 사용하면 부팅 수신기 내 휴대 전화에서 작동합니다

public void onReceive(Context context, Intent intent) { 
    context.startService(new Intent(context, UpdaterService.class).addFlags(Intent.FLAG_INCLUDE_STOPPED_PACKAGES)); 
    Log.d("BootReceiver", "onReceived"); 
    Toast.makeText(context, "Test", Toast.LENGTH_LONG).show(); 
} 

입니다 : 안드로이드 매니페스트 파일입니다.

adb shell am broadcast -a android.intent.action.BOOT_COMPLETED -c android.intent.category.HOME 

하지만 테스트를 위해 재부팅을 시도하면 실패합니다. 이 부팅 리시버가 전화로 부팅되도록하고 싶습니다. 어떻게이 문제를 해결할 수 있습니까?

+1

애플리케이션에 '활동'이 있습니까? 'Activity'를 시작하여 응용 프로그램을 시작 했습니까? –

답변

1

당신이

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

매니페스트

에 또한 당신이 속기 .BootReceiver 대신 전체 패키지를 추가하려고 할 수있는 권한이 있는지 확인합니다. 예를 들면 :

com.yourpackage.receivers.BootReceiver 

편집 아, 그리고 코멘트에 언급 한 바와 같이. 적어도 한 번은 응용 프로그램의 주요 활동을 시작해야합니다. 그렇지 않으면 Android가 부팅 수신기를 호출하지 않습니다.

+0

패키지 이름을 추가하면 도움이됩니다. Tencent 감사합니다. – Bryce

관련 문제