2011-08-19 5 views
3

응용 프로그램이 일시 중지 될 때 (예 : 사용자가 홈 단추를 누르거나 다른 응용 프로그램을 시작할 때)를 감지하고 싶습니다.활동이 아닌 응용 프로그램의 일시 중지 감지

일부 응용 프로그램은 상황을 감지하고 "응용 프로그램이 백그라운드에서 실행 중입니다."와 같은 알림을 표시합니다. 동일한 작업을 수행해야하지만 데이터베이스에 일부 개체를 저장해야합니다.

미리 감사드립니다.

답변

-2

응용 프로그램의 모든 활동에서 다음 방법을 재정의하십시오.

protected void onPause() {  
    //do your work 
    super.onPause();   
} 
1

활동주기의 OnPause가 답입니다. 응용 프로그램이 일시 중지되면 활동도 마찬가지입니다.

오랜 시간이 걸리는 작업을 수행하지 않도록주의하십시오. OnPause 메서드는 다음 활동을 시작하거나 다시 시작하기 전에 완료해야합니다. 따라서 사용자가 홈 버튼을 누르면 OnPause가 완료 되어야만 사용자가 런처를 볼 수 있습니다. 파티

0

늦은 ...

당신은 Application.ActivityLifecycleCallbacks 인터페이스와 활동이 일시 정지 및 재개되고있는 점을 구현할 수 있습니다. 이전 활동이 일시 중지되기 전에 새 활동이 재개됩니다. 따라서 기본적으로 onPaused에 대한 활동이 onResume에 기록 된 것과 동일한 활동 인 경우 앱이 백그라운드로 진행됩니다. 이 onResume에 기록한 마지막 활동과 다른 활동을 수신하면 사용자가 앱 내의 다른 활동으로 이동하고 있음을 의미합니다.

관련 문제