2011-12-23 3 views
0

현재 앱을 만들고있는 중입니다. 안드로이드 장치에서 미디어 플레이어를 시작하고 중지하는 방법을 제어 할 것입니다. 음악 만. 음악 플레이어가 백그라운드 나 전면에서 활성화되어있을 때만 서비스를 실행하고 싶습니다. 배터리 수명을 줄이기 위해 이렇게하고 싶습니다.미디어 플레이어가 실행 중인지 감지하는 방법

몇 번이나이 AudioManager.isMusicActive()를 보았지만 음악이 배경에서 재생되는 경우에만 해당되는지 확실하지 않습니다.

일부 배경에서는 내 앱이 시작되고, 중지되고, 노래를 건너 뛰고, 음악을 일시 중지합니다.

도와 주셔서 감사합니다.

+0

내 응용 프로그램은 여러 센서를 사용하는 것입니다, 나는이 그렇게 할 꿔 센서 전체 시간 동안 활동적이지 않다. – blitzfire911

답변

0

서비스가 실행 중일 때 제어하는 ​​적절한 방법은 노래가 시작될 때 시작하고 노래가 끝나거나 일시 중지 될 때 중지하는 것입니다. 이렇게하면 음악이 현재 실행 중인지 확인하기 위해 폴링하지 않아도됩니다.

그러나, 당신은 절대적으로 서비스를 사용할 수있는 실행되고 있는지 확인하기 위해 폴링해야하는 경우 다음

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