내 애플리케이션의 세션을 기반으로 통계를 유지해야합니다. 문제는 안드로이드가 (백그라운드에서 서비스를 실행 중이기 때문에) 뒤로 버튼을 사용하여 애플리케이션을 종료 할 때도 애플리케이션을 닫지 않는다는 것입니다.Android 애플리케이션 세션 관리
응용 프로그램이 백그라운드에서 X 분 (전화 통화 또는 알람과 구별하기 위해) 인 경우 세션 정보를 재설정하고 싶습니다. 그것을 할 방법이 있습니까?
어쩌면 어떤 종류의 방송 수신기가 이벤트를 감지 할 수 있습니까?
시나리오를 조금 설명해 보도록하겠습니다. 인증 (암호 입력) 후에 만 액세스 할 수있는이 응용 프로그램 부분이 있습니다. 이제는 사용자가이 부분에 들어가면 활동이 일시 중지 될 때마다 계속해서 사용자에게 인증을 요청하고 싶지 않습니다. 그러나 사용자가 Home 키를 누르고 20 분 후에 응용 프로그램으로 돌아 간다고 말하면 인증을 요청하고 싶습니다.
편집 : 여러 활동으로 작업 중이므로 단순히 onPause()
에 플래그를 설정하는 응용 프로그램을 백그라운드로 감지 할 수 없습니다.
Flurry/Google Analytics를 사용할 수는 있지만 재설정하려고하는 정보가 applciation 내부이며보고/추적과 관련이 없음을 알 수 있습니다. –
나는 당신이 질문을 업데이 트를 참조하십시오. onPause는 레코드를 정확하게 유지하고 올바른 방식으로 감지 할 수 있으면 작동합니다. 짧게 유지하려면 SharedPreference를 사용하여 마지막 활성 시간을 유지하고 새로 고치십시오. onPause()를 설정할 수 없으면 onResume()을 설정하여 해당 시간을 확인하십시오. 전경에서 사야하기 때문에 항상 유효한 케이스입니다. 그런 식으로 신뢰하지 않으면, AlarmManager를 사용하여 상호 작용이 발생할 때마다 알람을 새로 고치고 보류중인 이벤트가 세션을 무효화하도록하십시오.이를 수행 할 수있는 방법은 많지만 환경 설정을 사용하는 것은 매우 간단합니다. – Edison
여러 활동으로 작업하는 경우 중요하지 않습니다. 동일한 프로세스에서 실행되는 동일한 응용 프로그램 인 경우 일반적으로 명확한 스택이 있습니다. – Edison