安卓後臺保活黑科技 播放無聲音樂
阿新 • • 發佈:2018-12-04
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檔案中進行註冊
<service android:name=".service.PlayerMusicService" android:enabled="true" android:exported="true" android:process=":music_service" />