Как определить, запущен ли медиаплеер - PullRequest
0 голосов
/ 23 декабря 2011

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

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

Для некоторого фона мое приложение запускается, останавливается, пропускает песни и приостанавливает музыку.

1 Ответ

0 голосов
/ 23 декабря 2011

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

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

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