2009-06-21 2 views
8

일시 중지되었을 때 완전히 비활성화/닫을 응용 프로그램이 있습니다. (사용자가 홈, 종료 (통화) 및 뒤로 버튼을 누르면 응용 프로그램을 원합니다. 닫히지 않고, 히스토리 스택에 저장된다).일시 중지시 안드로이드 응용 프로그램 살짝 잡기

어떻게해야합니까? ...?

감사합니다.

답변

23

귀하의 활동에 onPause()을 구현하고 귀하의 활동에 finish()으로 전화하십시오. 하지만 대화, 수신 전화, 사용자가 Notification을 활성화하는 경우를 포함하여 모든 일시 중지시이 오류가 발생합니다. onStop()에서 finish()을 수행하는 것이 좋습니다. 그러면 대화 상자 문제를 해결할 수 있습니다.

또한 사용자가 앱을 사용할 때 사용자가 다시 돌아 오려고 시도 할 때 앱이 충돌했기 때문에 추락했다고 생각할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 사용자가 포 그라운드에서 앱을 실행하고 백그라운드에서 실행중인 상태로 둘 경우 앱이 배터리 수명이 많이 저하 될 수 있으므로 앱을 실행하고 싶을 때와 같이 애플리케이션이 작동해야합니다. – Tom

+1

그런 경우 전체 활동을 중지 시켜서는 안됩니다. 배터리 수명을 줄이고있는 모든 작업을 비활성화하고 onStart() 또는 onResume()에서 다시 활성화하십시오. – CommonsWare

+0

onPause()에서 finish()를 호출하면 강제로 닫힙니다. 아이디어? – Tom

2

에, 당신의 활동 요소에서 "noHistory"속성을 true로 설정하여 당신은 당신이 수행하는 활동에에서 OnCreate() 메소드가 방법을 알고 있다고 할 수있다 당신이 시작할 때의 행동. 그것은이 경우

를 시작하기 전에

finish(); 

명령은 당신이 당신의 활동이 일시 중지하기 전에 실행할 것입니다 작업을 추가하는 활동에

@Override 

protected void onPause(){ 
finish(); 

     super.onPause(); 

} 

: 당신은 같은 것을 추가해야합니다.

관련 문제