天天看点

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