응용 프로그램이 포 그라운드인지 확인하는 데에는 많은 이유가 있습니다. 예 : - GCM/C2DM 푸시 알림의 트리거로 사용됩니다. 앱의 많은 부분이 앱이 포 그라운드와 백그라운드 일 때 서로 다른 동작을 구현하는 좋은 이유가 있습니다. 다른 이유로는 예를 들어 백그라운드 작업에서 서버를 쿼리하는 것과 같이 귀중한 리소스를 소비하는 서비스를 중단시킬 수 있습니다. 포 그라운드에서 응용 프로그램이 싫어하는 것인지 확인하십시오.
그냥 명확합니다 : 배경 응용 프로그램에 대한 정의는 (내가보기로)이다 : 그것은 활동 중 어느 것도onStart()
방법을 호출되지 않으며, 아직
onStop()
메소드를 호출하지 않았다
응용 프로그램입니다. 그 시간에만 활동이 사용자의 라이프 사이클에서 볼 수 있기 때문에 그게 바로입니다. 다른 한편에서 -
가 홈 버튼에 반응하는 응용 프로그램을하지 않으려는 구글처럼 보인다는
는에
onBackPressed()
에 반응 (그것은 API의 일부가 아니다)은 "Activity
을 떠나기위한 지표로 "root/main"활동을 사용하는 것이 좋습니다 (많은 사용자가 뒤로 버튼이 아닌 홈 버튼을 사용하기 때문에).응용 프로그램이 포 그라운드 인 경우 termine (내 정의에 따라 ..)
내가 API에 뭔가를 놓치지 않았고, 정말 경우 없다면 - 응용 프로그램이있는 경우 쉽게 결정하기 위해 왜이 왜 전경 이냐 아니냐 ???? !!!! 내가 전경하는 응용 프로그램이 스레드에 설명되어 있는지 확인을 할 수있는 알고있는
-
하지만 How to detect when an Android app goes to the background and come back to the foreground @Emil 말과 같은 -은 특별 허가를 필요로하는, 또는 필요로하는 몇 가지 까다로운 논리의 매우 빠른
: 문제가되는 것은내 질문은 기본적으로 있습니다 (... 내가 더 좋은 생각을 가지고 있지 않기 때문에 즉, 내가 지금 뭘하는지 비록)을 유지하고, 나쁜 접근 냄새하기
좋은 이유로 그러한 API 메소드가 있습니까?
응용 프로그램이 포 그라운드인지 여부를 고려하면 좋지 않은 접근 방법입니까?
응용 프로그램이 포 그라운드인지 여부를 확인하는 다른 방법이 있습니까? 응용 프로그램이 전경인지 나쁜 방법 인 경우
당신의 대답은 내 머리 속에서 몇 가지 순서를 만들었습니다 ... 두 번째 시나리오의 해결책으로 주문한 방송에 대해서는 생각하지 않았습니다. 그 경우에는 완벽 해 보입니다. 첫 번째 경우에 대해 - 나는 onUserLeaveHint() 메소드에 익숙하지 않았습니다. 그것이 존재한다는 것을 알기는하지만, 당신이 말했듯이 - 여전히 모든 것을 다루지는 않습니다. 시작된 활동과 멈추지 않은 활동의 수를 나타내는 정적 변수는 내가하고있는 일이며, 당신의 충고 후에 나는 이것과 함께 살 것입니다. 솔루션을 벌채하지 않고 해결책을 찾았습니다. :) –