1、准备一段无声的音频,新建一个播放音乐的Service类,将播放模式改为无限循环播放。在其onDestroy方法中对自己重新启动。
public class PlayerMusicService extends Service { private final static String TAG = PlayerMusicService.class.getSimpleName(); private MediaPlayer mMediaPlayer; @Nullable
@Override
public IBinder onBind(Intent intent) { return null;
} @Override
public void onCreate() { super.onCreate();
Logger.d(TAG, TAG + "---->onCreate,启动服务");
mMediaPlayer = MediaPlayer.create(getApplicationContext(), R.raw.silent);
mMediaPlayer.setLooping(true);
} @Override
public int onStartCommand(Intent intent, int flags, int startId) { new Thread(new Runnable() { @Override
public void run() {
startPlayMusic();
}
}).start(); return START_STICKY;
} private void startPlayMusic() { if (mMediaPlayer != null) {
Logger.d(TAG, "启动后台播放音乐");
mMediaPlayer.start();
}
} private void stopPlayMusic() { if (mMediaPlayer != null) {
Logger.d(TAG, "关闭后台播放音乐");
mMediaPlayer.stop();
}
} @Override
public void onDestroy() { super.onDestroy();
stopPlayMusic();
Logger.d(TAG, TAG + "---->onCreate,停止服务"); // 重启自己
Intent intent = new Intent(getApplicationContext(), PlayerMusicService.class);
startService(intent);
}
}
2、 在保活的DownloadServie服务类的onCreate方法中对PlayerMusicService进行启动
Intent intent = new Intent(this, PlayerMusicService.class);
startService(intent);
3、在Manifest文件中进行注册
android:name=".service.PlayerMusicService"
android:enabled="true"
android:exported="true"
android:process=":music_service" />