2016-10-19 3 views
0

I는 사용자가 제거 될 때까지 백그라운드에서 실행하는 서비스를 쓰기 위해 노력하고있어 실행중인 서비스를 유지,이 코드를 사용 일단 SMS를 발견하면 무언가를하십시오. 이제는 작동하지만 잠시 기다렸다가 서비스가 계속 작동 중인지 확인하기 위해 SMS를 보내려고하면 서비스가 작동하지 않는다는 것을 의미하지 않습니다. (내 생각) 그렇다면 내 질문 'START_REDELIVER_INTENT'을 (를) 사용하면 서비스가 중단되는 이유는 무엇입니까? - 서비스의 onDestroy 함수에서 알림을 제거합니다. 서비스가 잠시 후에 작동을 멈추는 동안 알림은 여전히 ​​서비스가 파괴되지 않았 음을 의미합니다.무기한

+1

서비스가 다른 애플 리케이션을위한 공간을 확보하기 위해 언제든지 죽일 수 . 시스템은 결국 다시 시작하려고 시도하지만 사용하지 못할 시나리오를 처리해야합니다. – DeeV

+0

고맙습니다. – javaLovah

답변

1

재부팅 후 자동 재시작 서비스가 필요합니다.

매니페스트 :

<service android:exported="false" android:name=".service.YourService" android:enabled="true"></service> 
    <receiver android:name=".service.YourBootReceiver"> 
     <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
     </intent-filter> 

또한 허가 :

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

정의 수신기 :

public class YourBootReceiver extends BroadcastReceiver { 

    @Override 
    public void onReceive(Context arg0, Intent arg1) { 
     Intent serviceIntent = new Intent(arg0, YourService.class); 
     arg0.startService(serviceIntent); 
    } 
+0

답장을 보내 주셔서 감사합니다.하지만 제 주된 질문은 왜 서비스가 잠시 후에 중단 될까요? – javaLovah

+0

나중에 youtr 코드를 확인하겠습니다.하지만 사용하고 확인해도 내 서비스가 항상 작동합니다. – josedlujan