2012-01-29 2 views
0

백그라운드에서 다운로드를 실행하기 위해 "다운로드"버튼과 서비스가있는 Activity를 사용하는 Android 애플리케이션을 개발했습니다. 그리고 다음과 같은 작업이 있습니다 : 응용 프로그램이 현재 표시되면 다운로드에 대한 메시지를 표시합니다. 어떻게 탐지 할 수 있습니까? 표준 Android OS 기능이 있나요? 고맙습니다.응용 프로그램을 감지하는 방법은 무엇입니까?

답변

1

전체적으로 애플리케이션이 아닌 활동 레벨에서이를 수행 할 수 있습니다. activity lifecycle에 대한 설명을 확인하십시오. Activities framework topic의 "활동주기 관리"도 참조하십시오. 활동이 표시되면 프레임 워크에서 onStart() 메서드라고 부릅니다. 사용자가 활동과 상호 작용할 수 있으면 프레임 워크는 onResume() 메소드를 호출합니다. 이 중 하나를 재정의하여 활동이 표시되거나 실제로 사용자와 상호 작용할 때를 알 수 있습니다.

설명서에 설명 된대로 Honeycomb (3.0)부터 약간 다르게 작동합니다.

+0

고맙습니다. – user1166635

0

기본 방법은 브로드 캐스트 수신기를 사용하여 서비스와 응용 프로그램간에 정보를 공유하는 것입니다. 주 활동에서 다운로드 상태/진행 상황을 업데이트하는 것이 요구 사항 인 경우이를 사용할 수 있습니다.

Here은 서비스와 활동간에 정보를 공유하는 방법에 대한 간단한 자습서입니다. 다운로드 진행률을 업데이트 할 수 있습니다. 현재 실행중인 활동에 대해 작동합니다.

활동이 시작될 때 확인하려면 onCreate, onStart() 또는 onResume() 기능을 무시해야합니다.

또 다른 질문으로 제시되는 매우 깔끔한 해결책이 있으며, 나는 그것을 사용하도록 권장해야합니다. 여기에는 정보를 저장하도록 Application 클래스를 확장하고 해당 인스턴스를 사용하여 업데이트를 확인하는 작업이 포함됩니다. this

관련 문제