마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

[android] 일정시간 조작을 안 할때 이벤트 발생시키는 방법

0 추천
모바일 게임을 하다보면

일정시간 마우스 조작이 없을때 로그아웃을 시키는 기능이 있잖아요?

 

그거를 저희 앱에 적용하고 싶은데

 

검색해도 안나오고

 

java 코드로  어떻게 적용해야할지 막막하네요

 

4시간이라고 하면 그동안 사용자가 조작을 했는지 안했는지 체크할 수 있는

 

메소드를 java 코드로 구현 가능할까요 ?
stringboot (260 포인트) 님이 2021년 6월 23일 질문

1개의 답변

+1 추천
 
채택된 답변
해당 기능은 특정 앱에서 필요한 기능이 아니라서 안드로이드 플랫폼 자체에 그런 기능은 없지만, 세션 관리 기능을 만들 수 있는 기초들은 제공을 합니다.

많이 사용했던 방법으로는 BaseActivity를 만들어서 onUserInterAction 콜백을 오버라이드 해서, 마지막 interaction이 일어난 시간을 기록해 두고, 이것과 현재 일어난 interaction과의 시간차를 계산하는 방식이 있습니다. 여기에 주기적으로  interaction을 체크할 수 있도록 timer같은 것을 스케쥴링해서 같이 사용하면 님이 원하시는 부분은 해결되리라 생각됩니다. 그리고 스케쥴링은 앱이 백그라운드일 때는 굳이 필요없을 것 같고, 포그라운드 일 때만 해주시면 되지 않을까 생각합니다. 앱이 백그라운드에서 포그라운드로 전환할 때는 마지막 interaction시간과 현재시간의 차이를 체크하시면 될 것같구요.
spark (226,720 포인트) 님이 2021년 6월 23일 답변
stringboot님이 2021년 6월 26일 채택됨
...