저는 다소 이상한 문제가 있습니다. 나는 앱이 열릴 때 내 기본 활동에서 아래 코드를 사용하여 호출하는 바인딩되지 않은 서비스가 있습니다. 서비스는 무엇이든 상관없이 죽지 않을 것입니다.
//some code checks if the service is awake. if not then the code below is called
Intent serviceIntent = new Intent(this, SMS_Listener_Service.class);
startService(serviceIntent);
새로운 SMS가 콘텐츠 관찰자을 보장하기 위해 타이머를 통해 3 초 동안 서비스 대기로 제공
내부의 SMS DB에 데이터를 저장하고있다. 그 후에 그것은 무거운 짐을 싣기 위해 intentservice에 전화를합니다.은 알 수없는 이유로, 서비스는 때때로 중단됩니다 및
호기심 것은 심지어 응용 프로그램 섹션 나던 일에 서비스를 중지 강제하려는 것입니다 "(이미지 참조) 다시 시작"에 박히면서. 잠시 사라지고 같은 메시지가 다시 나타납니다. 코드에서 stopService를 사용하면 서비스 내에서 OnDestroy 메서드가 호출되지 않습니다. 주변의 유일한 방법은 전화를 다시 시작하는 것입니다.
문제는이 상태에있을 때 작동하지 않는다는 것입니다. 나는 안드로이드 4.3
"와 갤럭시 노트 3이 실행 해요
을 (그 들어오는 SMS 메시지를 구문 분석하는 것을 의미) "
내 생각에 실제 파싱을 수행하는 Intentservice가 완료되지 않으므로 서비스 자체에 대한 호출이 호출되지 않습니다.
제 질문은 멈추려 고 시도했던 intentservice를 강요하는 방법이 있습니까?
이
여기에 같은 질문의public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
if (!blnAutoSyncisEnabled) {
stopSelf();
return 0;
} else {
return START_STICKY;
}
}
더 상세보기 https://stackoverflow.com/posts/21077517/edit
시작으로 서비스에서 모든 코드를 try catch로 래핑하여 서비스가 정상적으로 멈출 수 있도록 예외적으로 반환합니다. – KuriaNdungu