Android 进程保活--无限播放音乐
所谓进程保活,本来就是提升进程的优先级别。接下来这种方式,比1像素保活还要牛逼。就是无限播放音乐进行应用保活,就算锁屏了也是绝不容易给杀死,和1像素配合一起使用牛逼了。
简单上码
/*** 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")@Overridepublic void onCreate() {super.onCreate();}/*** START_NOT_STICKY:当Service因为内存不足而被系统kill后,接下来未来的某个时间内,即使系统内存足够可用,系统也不会尝试重新创建此Service。* 除非程序中Client明确再次调用startService(...)启动此Service。* <p>* START_STICKY:当Service因为内存不足而被系统kill后,接下来未来的某个时间内,当系统内存足够可用的情况下,系统将会尝试重新创建此Service,* 一旦创建成功后将回调onStartCommand(...)方法,但其中的Intent将是null,pendingintent除外。* <p>* START_REDELIVER_INTENT:与START_STICKY唯一不同的是,回调onStartCommand(...)方法时,* 其中的Intent将是非空,将是最后一次调用startService(...)中的intent。** @param intent* @param flags* @param startId* @return*/@Overridepublic 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;}@Overridepublic 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;}//播放完成@Overridepublic void onCompletion(MediaPlayer mp) {mHandler.postDelayed(new Runnable() {@Overridepublic void run() {play();}}, 10 * 1000);}@Overridepublic void onDestroy() {super.onDestroy();}
}
打开应用播放
在Appcation域进行打开服务
startService(new Intent(getApplicationContext(), ProtectService.class));
原理
每隔10秒种播放一次音乐进行进程守护
局限性
耗电,不利于电量优化,有可能被优化应用检测出被杀死。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续码蛋!
Android 进程保活--无限播放音乐相关推荐
- Android进程保活方案
自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是 ...
- 【Android 进程保活】oom_adj 值 ( oom_adj 值对应的进程优先级 | oom_adj 值动态改变 | 进程保活优化方向 )
文章目录 一.oom_adj 值对应的进程优先级 二.oom_adj 值动态改变 1.正常运行时的 oom_adj 值 2.按下 Home 键后的 oom_adj 值 3.按下回退键后的 oom_ad ...
- Android 系统(146)----Android进程保活招数概览
Android进程保活招数概览 Android中的进程保活应该分为两个方面: 提高进程的优先级,减少被系统杀死的可能性 在进程已经被杀死的情况下,通过一些手段来重新启动应用进程 本文针对这两方面来进程 ...
- Android进程保活的一般套路
自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是 ...
- 【腾讯Bugly干货分享】Android进程保活招式大全
[腾讯Bugly干货分享]Android进程保活招式大全 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57ac4a0ea374 ...
- Android进程保活(如何尽可能避免APP被杀死)
#.Android进程的优先级 Android系统中进程有不同的优先级,在系统需要优化和回收资源时,会先杀死优先级低的进程.所以要保活一个进程,就要想办法尽可能去提升它的优先级. ##1.前台进程 - ...
- Android进程保活方案的几种方案
自己曾经也在这个问题上伤过脑经,前几日刚好有一个北京的哥们在QQ说在做IM类的项目,问我进程保活如何处理比较恰当,决定去总结一下,网上搜索一下进程常驻的方案好多好多,但是很多的方案都是不靠谱的或者不是 ...
- 关于 Android 进程保活,你所需要知道的一切
早前,我在知乎上回答了这样一个问题:怎么让 Android 程序一直后台运行,像 QQ 一样不被杀死?.关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一.你 ...
- Android进程保活
Android进程回收机制 Low Memory Killer原理 微信团队原创分享:Android版微信后台保活实战分享(网络保活篇) 微信团队原创分享:Android版微信后台保活实战分享(进程保 ...
最新文章
- mysql5.7 事件_MySQL 5.7新特性
- network packet
- java暂停另一个线程_如何从另一个线程终止或暂停Rust线程?
- 仿minecraft游戏 linux,【图片】【Codea制作仿MineCraft3D游戏】Craft Ver. 0.1发布(开源)【codea吧】_百度贴吧...
- 多元函数的极值及其求法
- Pandas:写了一个简易的销量异常检测器
- 操作系统为什么需要驱动? 驱动程序是什么?为什么有的硬件“免驱”?
- 百度地图-定位不准的问题
- 服务器未能识别是什么意思,服务器未能识别 HTTP 标头 SOAPAction 的值
- 科普:手机电池的保护电路
- 台式计算机设置事带麦耳机,win10系统的台式电脑耳机(带麦克风的那种)怎么设置?...
- 自媒体你不知道的二三事|原来这些好听的声音是这么来的......
- 为什么支付宝跨行转账可以不收费?支付宝为什么要做这个业务?盈利模式是什么?
- 2058 笨拙的手指
- 决胜经典算法之冒泡排序
- 2019长沙理工大学计算机专业分数线,2019长沙理工大学各省各批次录取分数线汇总...
- Easy bcd有没Linux版本,Windows下使用EasyBCD和LiLi USB Creator安装Linux系统
- Linux操作系统的基础知识
- 靠谱的IT人力外包企业有哪些?
- 【Verilog基础】一文搞懂线性反馈移位寄存器(LFSR)