我正在开发一种依赖于在后台不断播放噪音的耳部训练应用程序。我希望我的应用程序成为一个良好的公民,因此我尝试遵循the Android Developer Guide来实现Audio Focus,除了一件事情外,其他一切都运行良好:按下主屏幕按钮时的行为。
我个人几乎从来不会通过后退按钮离开使用的应用程序,而总是使用主页按钮。因此,我认为当按下主页按钮时,我的应用应该放弃Audio Focus。由于没有我可以覆盖的onHomePressed()
方法,因此我尝试将放弃方法放到我的活动onPause()
和onStop()
方法中,这两种方法都会使AudioFocus立即以某种方式立即丢失,而MediaPlayer App我测试了再次播放。
如果我只专注于onDestroy()
,几乎一切都很好。我说这几乎是因为当我按下主屏幕按钮时,Media App无法继续播放。仅当我从最近的应用程序列表中删除我的应用程序时,它才会再次开始,因此我假设当系统终止我的应用程序时,会发生同样的事情。这可能会导致Media Player应用获得关注,最有可能是在用户睡着或参加考试,举行团队会议或其他需要手机保持静音的重要事情时。现在,没有用户会怀疑我的应用会导致这种行为,但我仍然认为防止这种情况很好。
有什么想法吗?