天天看點

Android背景播放音樂保活,安卓背景保活黑科技 播放無聲音樂

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" />