2011-01-27 2 views
0

만든 안드로이드 응용 프로그램을 만들었습니다. 나는 그것을 모바일에 설치했다. 내 휴대폰에서 뒤로 버튼을 누르면 앱에서 나옵니다. 그러나 그것은 백그라운드에서 실행 중입니다. 그렇다면 어떻게하면 활동을 완전히 끝낼 수 있습니까? 나는 코드 onkeydown 이벤트도 썼다. 심지어 그것은 백그라운드에서 실행 중입니다.완전히 완료 actitvity

답변

0

Activity.finish()를 호출하여 활동을 완전히 종료 할 수 있습니다.

셰이크 아만 (Shikh Aman)의 말처럼 Android가 실제로 활동 라이프 사이클을 관리하기를 원하기 때문에 정상적으로 수행해야하는 작업이 아닙니다.

+0

hi rogerkk.i하지만 여전히 백그라운드에서 작동하고 있습니다. . –

0

계속 백그라운드에서 실행됩니다. Android는 활동을 종료 할시기를 결정합니다.

그건 그렇고, 어떻게 그것이 실행되고 "작동"(얼어 붙지 않았는지) 확인합니까 ?? 당신의 onKeyDown() 핸들러에서

+0

내 응용 프로그램은 현재 위치를 얻습니다. 토스트에 GPS의 상태를 보여줍니다. GPS를 활성화하면 토스트에 GPS가 활성화 된 것을 보여줍니다. 다시 버튼을 누르면 GPS가 비활성화됩니다. 토스트에서 GPS를 사용할 수 없습니다. 내 문제입니다. –

+0

어쩌면 당신의 장치가 그렇게 말하고 있기 때문에 어쩌면 앱이 아니라고 !! 단지 야생의 추측. 네가 가지고있는 장치는? –

+0

내 장치가 말하는 것은 아닙니다. 내 응용 프로그램은 bcoz가 상태를 표시하기위한 코드를 작성했으며 내 장치는 Samsung G3이라고 말합니다. –

0

이를 추가해야합니다 :

finish(); 

이 폐쇄되는 활동을 발생합니다.

1

액티비티에서 onStop() 메서드를 재정의하고 finish() 메서드를 호출해야합니다. onStop() 메서드 시작 부분에 super.onStop()으로 전화하는 것을 잊지 마십시오. 내가 아는 한 백그라운드에서 실행되고 있지 않습니다. 안드로이드는 활동 상태를 저장하고 돌아올 때와 동일한 상태로 활동을 복원합니다.

+0

시도해보십시오! onStop에서 LocationManager.removeUpdates()를 사용해보십시오 –

+1

왜 방해해서는 안되는지 설명하는 http://developer.android.com/reference/android/app/Activity.html#ProcessLifecycle을 읽어보세요. NB : 완성 된 응용 프로그램은 "프로세스 목록"(홈 버튼을 누르고있을 때)에 계속 표시됩니다. – thoredge

-1

콜이 :

android.os.Process.killProcess(android.os.Process.myPid()); 

그것은 이상한,하지만 당신은 응용 프로그램을 죽일 것이다에만이 호출을 보장합니다. 특정 안드로이드 라이프 사이클 때문에 finish() 나 다른 어떤 메소드도 어플리케이션을 죽이지 않습니다.