安卓后台保活黑科技 播放无声音乐
源码 2018-12-07
679
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" />
本文由 投稿者 创作,文章地址:https://blog.isoyu.com/archives/anzhuohoutaibaohuoheikeji-bofangwushengyinle.html
采用知识共享署名4.0 国际许可协议进行许可。除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:12 月 7, 2018 at 02:14 上午