在我的应用程序中,我希望获得用户启动音乐播放器的开始时间和停止音乐播放器的结束时间,但我不想在应用程序中启动任何音乐播放器。我只想跟踪设备中的用户活动。因此,我希望我的应用程序在用户开始播放音乐时收到任何通知。
我得到任何意图的音乐播放器启动和它stopped.Or我得到任何意图,当用户打开音乐文件。
除了意图捕获开始时间和用户启动音乐播放器的时间之外,是否还有其他方法。
发布于 2012-05-28 18:55:12
你可以实现一个接口'AudioManager.OnAudioFocusChangeListener',其中有一个名为'onAudioFocusChange‘的方法,它可以让你知道音频焦点是否改变了,也可以告诉你焦点是获得了还是丢失了。
参见this链接,它详细解释了音频焦点。应用程序必须通过请求获得音频焦点,您可以实现“AudioManager.OnAudioFocusChangeListener”,如果有focus gain,则可以检测媒体播放器是否正在运行(因为其他一些应用程序,如you tube可能会获得焦点来播放其音频),请参阅this以了解如何检测当前正在运行的应用程序或服务。您可以查看音频是否已开始播放,以及是否为媒体播放器。
希望这能有所帮助。这是一个有趣的问题,我在寻找答案的过程中学到了一些新的东西!
https://stackoverflow.com/questions/10783031
复制相似问题