Радиопоток останавливается, когда устройство переходит в спящий режим

У меня есть простое приложение с фоновой службой, которое воспроизводит радиопоток с помощью медиаплеера, но медиаплеер останавливается через 2-3 минуты после того, как я заблокирую свой телефон...

Код для моей фоновой службы:

public class ServiceMusic extends Service {
MediaPlayer mediaPlayer;

@Override
public IBinder onBind(Intent intent) {
    // TODO Auto-generated method stub
    return null;
}
@Override
public void onCreate() {
    if (mediaPlayer != null) {
        if (mediaPlayer.isPlaying()) {
            mediaPlayer.release();
            mediaPlayer = null;
        }
    }

    mediaPlayer = new MediaPlayer();
    mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
    try {
        mediaPlayer.setDataSource(this, Uri.parse("http://188.40.62.20:8014"));
        mediaPlayer.prepare();
    }catch (IOException e){
        Log.e("---------------","---------------------: " + e.getMessage());
    }
}
@Override
public void onStart(Intent intent, int startid) {
    mediaPlayer.start();
}
@Override
public void onDestroy() {
    mediaPlayer.stop();
}

я написал в onCreate, но он все равно останавливается...

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,"MyWakelockTag");
wakeLock.acquire();

затем я добавил в медиаплеер режим бодрствования, но это тоже не помогает

mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);

и я добавил разрешение WAKE_LOCK в файл манифеста Android...

Я надеюсь, что кто-то может мне помочь.


person Djordjo Citluk    schedule 09.02.2018    source источник


Ответы (1)


Если вы не используете службу переднего плана для запуска фоновой задачи, возможно, служба может быть уничтожена при активности, что также происходит, когда устройство блокируется, посмотрите этот ответ, это может помочь в вашем случае:

Не удается сохранить службу Android после закрытия приложения

Ваше здоровье!!

person Aseem Sharma    schedule 09.02.2018