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