我目前正在创建一个应用程序,它将控制如何在Android设备上启动和停止媒体播放器。只有音乐。当音乐播放器在后台或前面处于活动状态时,我只希望我的服务运行。我想这样做是为了节省电池寿命,所以它不能一直运行。
我曾经遇到过几次AudioManager.isMusicActive(),但不确定这是否仅适用于音乐是否在后台播放。
对于某些背景,我的应用程序将启动,停止,跳过歌曲和暂停音乐。
控制服务何时运行的正确方法是在歌曲开始时启动它,并在歌曲结束或暂停时停止它。这将帮助您无需轮询以查看当前是否正在播放音乐。
但是,如果您必须轮询以查看服务是否正在运行,则可以使用以下命令:
for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if (YourServiceClass.class.getName().equals(service.service.getClassName())) {
service_running = true;
}
}