해당 기능은 특정 앱에서 필요한 기능이 아니라서 안드로이드 플랫폼 자체에 그런 기능은 없지만, 세션 관리 기능을 만들 수 있는 기초들은 제공을 합니다.
많이 사용했던 방법으로는 BaseActivity를 만들어서 onUserInterAction 콜백을 오버라이드 해서, 마지막 interaction이 일어난 시간을 기록해 두고, 이것과 현재 일어난 interaction과의 시간차를 계산하는 방식이 있습니다. 여기에 주기적으로 interaction을 체크할 수 있도록 timer같은 것을 스케쥴링해서 같이 사용하면 님이 원하시는 부분은 해결되리라 생각됩니다. 그리고 스케쥴링은 앱이 백그라운드일 때는 굳이 필요없을 것 같고, 포그라운드 일 때만 해주시면 되지 않을까 생각합니다. 앱이 백그라운드에서 포그라운드로 전환할 때는 마지막 interaction시간과 현재시간의 차이를 체크하시면 될 것같구요.