我有一个简单的应用程序,后台服务与媒体播放器播放无线电流,但媒体播放器在我锁定手机后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唤醒模式,但这也是帮助
mediaPlayer.setWakeMode(getApplicationContext(), PowerManager.PARTIAL_WAKE_LOCK);
并且我向Windows清单文件添加了WAKE_LOCK权限...
我希望有人可以帮助我。
答案 0 :(得分:0)
如果你没有使用前台服务来运行后台任务,那么服务可能会被活动破坏,这也会在设备锁定时发生,看看这个答案可能会对你的情况有所帮助:
Cannot keep android service alive after app is closed
干杯!!