android背景音乐保活
最佳答案 问答题库638位专家为你答疑解惑
/**
-
Created by GT on 2017/3/7.
*/
public class ProtectService extends Service implements MediaPlayer.OnCompletionListener {private boolean mPausePlay = false;//控制是否播放音频
private MediaPlayer mediaPlayer;
private Handler mHandler = new Handler();@SuppressLint(“NewApi”)
@Override
public void onCreate() {
super.onCreate();
}/**
- START_NOT_STICKY:当Service因为内存不足而被系统kill后,接下来未来的某个时间内,即使系统内存足够可用,系统也不会尝试重新创建此Service。
- 除非程序中Client明确再次调用startService(…)启动此Service。
-
- START_STICKY:当Service因为内存不足而被系统kill后,接下来未来的某个时间内,当系统内存足够可用的情况下,系统将会尝试重新创建此Service,
- 一旦创建成功后将回调onStartCommand(…)方法,但其中的Intent将是null,pendingintent除外。
-
- START_REDELIVER_INTENT:与START_STICKY唯一不同的是,回调onStartCommand(…)方法时,
- 其中的Intent将是非空,将是最后一次调用startService(…)中的intent。
- @param intent
- @param flags
- @param startId
- @return
*/
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if (mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(this, R.raw.record);
mediaPlayer.setVolume(0f, 0f);
mediaPlayer.setOnCompletionListener(this);
}
play();
return START_STICKY;
}@Override
public IBinder onBind(Intent intent) {
return null;
}/**
- 播放音频
- 亮屏:播放保活
- 锁屏:已连接,播音乐;未连接,不播放
*/
private void play() {
if (mediaPlayer != null && !mediaPlayer.isPlaying() && !mPausePlay) {
mediaPlayer.start();
}
}
/**
- 停止播放
*/
private void pause() {
if (mediaPlayer != null && mediaPlayer.isPlaying()) {
mediaPlayer.pause();
}
mPausePlay = true;
}
//播放完成
@Override
public void onCompletion(MediaPlayer mp) {
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
play();
}
}, 10 * 1000);
}@Override
public void onDestroy() {
super.onDestroy();
}
}
打开应用播放
在Appcation域进行打开服务
startService(new Intent(getApplicationContext(), ProtectService.class));
1
原理
每隔10秒种播放一次音乐进行进程守护
局限性
耗电,不利于电量优化,有可能被优化应用检测出被杀死。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续码蛋!
99%的人还看了
相似问题
- 基于ASP.NET MVC技术的图书管理系统的设计与实现
- MySQL数据库:开源且强大的关系型数据库管理系统
- 最新AIGC创作系统ChatGPT系统源码,支持最新GPT-4-Turbo模型,支持DALL-E3文生图,图片对话理解功能
- 基于springboot实现班级综合测评管理系统项目【项目源码+论文说明】
- 香港科技大学广州|机器人与自主系统学域博士招生宣讲会—同济大学专场!!!(暨全额奖学金政策)
- 合肥中科深谷嵌入式项目实战——基于ARM语音识别的智能家居系统(三)
- 基于Springboot的美容院管理系统(有报告)。Javaee项目,springboot项目。
- MES系统管理范围及标准
- 性能测试:系统架构性能优化思路
- django+drf+vue 简单系统搭建 (3) - 基于类的视图
猜你感兴趣
版权申明
本文"android背景音乐保活":http://eshow365.cn/6-23353-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: P2 B+树索引
- 下一篇: PostgreSQL12中浮点数输出算法优化带来的小问题