在我的应用程序中,我想在用户启动时获取音乐播放器的开始时间,在它停止时获取结束时间。我不想在我的应用程序中启动任何音乐播放器。我只想跟踪设备中的用户活动。所以我希望我的应用程序在用户开始播放音乐时收到任何通知。
我是否对音乐播放器启动和停止有任何意图?或者我是否对用户打开音乐文件有任何意图。
除了意图捕获用户启动音乐播放器的开始时间和时间之外,还有其他方法吗?
在我的应用程序中,我想在用户启动时获取音乐播放器的开始时间,在它停止时获取结束时间。我不想在我的应用程序中启动任何音乐播放器。我只想跟踪设备中的用户活动。所以我希望我的应用程序在用户开始播放音乐时收到任何通知。
我是否对音乐播放器启动和停止有任何意图?或者我是否对用户打开音乐文件有任何意图。
除了意图捕获用户启动音乐播放器的开始时间和时间之外,还有其他方法吗?
好吧,您可以实现接口“AudioManager.OnAudioFocusChangeListener”,其中有一个方法“onAudioFocusChange”,它可以让您知道音频焦点是否已更改,它还可以判断焦点是否获得或丢失。
请参阅此链接,它详细解释了音频焦点。应用程序必须通过请求获得音频焦点,您可以实现“AudioManager.OnAudioFocusChangeListener”,如果有焦点增益,您可以检测媒体播放器是否正在运行,(因为其他一些应用程序,例如您的 Tube 可能会获得焦点到播放其音频),请参阅此内容以了解如何检测当前正在运行的应用程序或服务。您可以查看音频是否已开始播放,以及是否是媒体播放器。
希望这可以帮助。这是一个有趣的问题,我在寻找答案的过程中学到了一些新东西!