2011-12-23 2 views
0

В настоящее время я создаю приложение, которое будет контролировать, как запустить и остановить медиаплеер на устройствах Android. Только музыка. Я только хочу, чтобы мой сервис работал, когда музыкальный проигрыватель активен в фоновом режиме или спереди. Я хочу сделать это, чтобы сэкономить время автономной работы, чтобы он не работал все время.Как определить, запущен ли медиа-проигрыватель

Я несколько раз сталкивался с этим AudioManager.isMusicActive() несколько раз, но не уверен, что это ТОЛЬКО, если музыка играет в фоновом режиме.

На каком-то фоне приложение начнет, остановит, пропустит песни и остановит музыку.

Прошу вас, спасибо за вашу помощь!

+0

Мое приложение будет использовать несколько датчиков, и я хочу сделать это так, датчики не активны все время – blitzfire911

ответ

0

Правильный способ управления, когда работает ваш сервис, - запустить его, когда начинается песня, и остановить ее, когда песня заканчивается или приостанавливается. Это поможет вам не проводить опрос, чтобы узнать, работает ли музыка в данный момент.

Однако, если вы абсолютно опрашивать, чтобы увидеть, если служба запущена, вы можете использовать следующее:

for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (YourServiceClass.class.getName().equals(service.service.getClassName())) { 
       service_running = true; 
      } 
     } 
Смежные вопросы