내 응용 프로그램에는 하나의 서비스와 일련의 활동이 있습니다.활동 동기화
각 활동은 작은 작업 (예 : 숫자 또는 텍스트 삽입 또는 환경 설정 표현)을 포함합니다.
서비스는 활동 또는 활동의 하위 집합을 시작합니다.
서비스가 시작되는 순서는 요일 시간과 함께 변경됩니다.
하지만 서비스는 매번 다음 활동을 시작하기 전에 활동 종료를 기다려야합니다 (활동 결과 얻기 위해).
내 생각은 두 가지 활동 실행 사이의 서비스에서 wait()
호출을 사용하는 것이 었습니다.
각 액티비티는 sendBroadcast를 사용하여 결과를 BroadcastReceiver
으로 반환합니다.
BroadcastReceiver
은 notify()
을 실행하여 서비스를 해제하고 작업 결과를 서비스에 전달합니다.
분명히,이 아이디어는 작동하지 않습니다. 문제는 다음과 같습니다.
1) 서비스에서 많은 활동을 시작하면 각 활동이 속한 작업과 관련된 문제가 발생합니다.
2) 내가 Service
클래스 내부의 BroadcastReceiver
을 선언 처음으로합니다 (Service
에 BroadcastReceiver
에서 정보를 전달하는 방법을 모른다, 그러나 서비스가 wait()
를 입력 할 때 프로세스가 막힌 상태 및 BroadcastReceiver
수신하지).
제발, 나는 모든 종류의 제안을 받아들입니다. 응용 프로그램 아키텍처가 변경되었을 수 있습니까?
감사