여기 상황이 있습니다. 서비스를 시작하는 Android 활동이 있습니다 (이 서비스는 파일 보내기/받기 등을 의미합니다). Activity 클래스 객체에 생성 된 핸들러를 통해 SendMessage()를 액티비티에 서비스한다. 활동에는 서비스에 포함 된보기에서 현재 수행중인 작업의 상태가 표시됩니다. 이 활동을 통해 다시 시작한 활동은 다시 시작하기 전에 시작한 서비스 상태를 얻을 수 없습니다.
- 문제를입니다/파일 받기
- 서비스가 현재 사용 중이며 전역 개체를 통해 얻은 처리기를 통해 UI에 메시지를 보냅니다.
- 활동이 수신 handleMessage()와 UI에 상태를 게시는
- 는 이제 사용자는 (할 수있다 그는 다른 앱 사용하기 시작) 아마도 내 활동을 죽이고 있지만 서비스가 사용 중입니다이 과정 안드로이드 동안
- 을 배경 내 활동을 전송/평균 시간에
- 서비스를 실행하는 사용자가 활동을 엽니 시간 후
- ,
- (문제를) 완료 활동은에서 onCreate는 서비스의 마지막 상태를 모르는 행위라고 시작합니다. 성공적으로 완료했는지 또는 실패했는지 또는 다른 상태 인 지 여부를 묻는 메시지가 표시됩니다.
좀 더 명확하게 만들 수 있습니까? 액티비티가 종료되면 정적 변수가 여전히 존재 함을 의미합니까? 다시 시작하면 거기에서 가치를 얻을 수 있습니까? – Ahmed
활동은 신청서 (종류)의 일부입니다. 따라서 프로세스가 살아있는 동안 정적 변수를 사용할 수 있습니다. 프로세스가 살아있을 때, 응용 프로그램은 여전히 살아 있습니다. 그래서 당신은 자신의 클래스를 가지기 위해 응용 프로그램의 클래스 이름을 다시 정의 할 수 있습니다. Singleton을 사용하여 정적 또는 필드에 액세스하도록 Application을 확장합니다. –
괜찮습니까? 그리고 마지막 상태를 저장하기 위해 서비스 클래스에서 정적 var을 만드는 방법은 다릅니다. – Ahmed