2011-12-23 134 views
0

我目前正在制作应用程序,将控制如何在Android设备上启动和停止mediaplayer。只有音乐。我只想让我的服务在音乐播放器在后台或前端处于活动状态时运行。我想这样做是为了节省电池寿命,所以它不能一直运行。如何检测媒体播放器是否正在运行

我偶然发现了这个AudioManager.isMusicActive()几次,但不知道这是否仅限于音乐在后台播放。

对于一些背景,我的应用程序将启动,停止,跳过歌曲,并暂停音乐。

请,谢谢你的帮助!

+0

我的应用程序将使用多个传感器,而且我想这样做,所以传感器整个时间都不活跃 – blitzfire911 2011-12-23 00:01:40

回答

0

控制服务运行时间的正确方法是在歌曲开始时启动,当歌曲结束或暂停时停止。这将帮助您不必轮询以查看音乐是否正在运行。

但是,如果你绝对要查询,看是否有服务正在运行,你可以使用以下命令:

for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (YourServiceClass.class.getName().equals(service.service.getClassName())) { 
       service_running = true; 
      } 
     }