keeplive

Project Url: fanqieVip/keeplive
Introduction: 保活组件
More: Author   ReportBugs   
Tags:

集成了无声音乐(已考虑功耗,降至最低),前台服务、双进程守护、像素保活,jobs 五种保活方式

主流的魅族、小米、锤子、vivo、努比亚、三星、华为等品牌,涵盖 4.4 至 9.0 的机型测试结果为,只要用户不主动杀死程序就不会死,但某些机型锁屏即断网的问题不是我能解决的。

新框架发布 https://github.com/fanqieVip/methodinject

使用编译器字节码注入的安卓 AOP 框架,集成非常简单,一行注解完成拦截注入,欢迎踊跃提出改良建议!

新框架发布 https://github.com/fanqieVip/processroute

基于 AIDL 的组件化框架,具有轻量化,倾入性极低的优点,欢迎踊跃提出改良建议!

更新日志

【1.1.14】 2019-08-07

1.修复了可能发生的“ Apps may not schedule more than 100 distinct jobs”异常;

【1.1.12】 2019-06-21

1.修复了可能发生的“android.os.IPowerManager.isInteractive()' on a null object reference”异常;

【1.1.11】 2019-05-24

1.修复了双进程守护可能诱发的“android.os.DeadSystemException”异常;

2.新增 KeepLive.useSilenceMusice(boolean) API,可设置是否启用无声音乐(默认开启);

【1.1.10】 2019-04-17

1.修复了部分手机 JobHandlerService.isRunningTaskExist、KeepLive.isMain 引发空指针的 bug;

【1.1.9】 2019-04-11

1.修复了部分手机退出程序后,程序保活自启后导致最近任务中又会看到这个程序的 bug;

【1.1.8】 2019-03-21

1.修复了 APP 在后台时,解锁屏幕后 APP 闪现的 bug;

2.修复了部分限制后台打开 Activity 造成像素保活失败的机型(大部分做了限制的机型还是不行);

【1.1.7】 2019-03-18

1.修复了 java.lang.IllegalArgumentException Service not registered 异常问题;

2.修复了 NullPointerException caused by MediaPlayer.setVolume()异常问题;

【1.1.5 】 2019-01-25

1.简化了集成流程,无需再配置 manifest 文件;

【1.1.4 】 2019-01-24

1.修复了 unbindService(connection)可能造成部分机器 java.lang.IllegalArgumentException: Service not registered 的 bug;

【1.1.3 】 2019-01-07

1.修复了 jobservice 中获取 remote 进程存活状态永远为 false 的 bug;

【1.1.2 】 2019-01-02

1.修复了应用切换到后台息屏再亮屏,应用会自动显示到前台的 bug;

【1.1.0 稳定版】 2018-12-25 【注意看集成文档,本次更新了一些配置】

1.新增安卓 7.0 及以下自动隐藏通知特性

2.消除安卓 9.0 会有通知声音的问题

【1.0.8】 2018-12-11

1.修改 ENERGY 省电模式保活逻辑,保活效果更好一些,不过肯定不如 ROGUE(流氓模式)

2.修改 KeepLiveService 的实现方法,不再传递 Context

【1.0.7】 2018-12-05

1.新增 RunMode(运行模式)设定,可设置 ENERGY(省电模式)、ROGUE(流氓模式),多数情况下建议使用省电模式,经测试即时是省电模式,保活效果依然很强悍

【1.0.6】 2018-11-30

1.适配安卓 8.0 以上,修正 startForegroundService 引起 not found service 进而造成某些机型 NAR 的问题

【1.0.4】 2018-11-15

1.修改 OnePixelActivity 的基类为 Activity,避免由于主题造成兼容问题

2.适配安卓 8.0 以上,将安卓 8.0 以上的 startservice 改为 startForegroundService,增强了稳定性

【1.0.3】 2018-10-25

1.修复了在安卓 9.0 版本上引发闪退的 bug

2.ForegroundNotificationClickListener 新增 Context 参数,用于通知栏传递值

使用方式,在 application 中启动保活服务

        //定义前台服务的默认样式。即标题、描述和图标
        ForegroundNotification foregroundNotification = new ForegroundNotification("测试","描述", R.mipmap.ic_launcher,
                //定义前台服务的通知点击事件
                new ForegroundNotificationClickListener() {

                    @Override
                    public void foregroundNotificationClick(Context context, Intent intent) {
                    }
                });
        //启动保活服务
        KeepLive.startWork(this, KeepLive.RunMode.ENERGY, foregroundNotification,
                //你需要保活的服务,如 socket 连接、定时任务等,建议不用匿名内部类的方式在这里写
                new KeepLiveService() {
                    /**
                     * 运行中
                     * 由于服务可能会多次自动启动,该方法可能重复调用
                     */
                    @Override
                    public void onWorking() {

                    }
                    /**
                     * 服务终止
                     * 由于服务可能会被多次终止,该方法可能重复调用,需同 onWorking 配套使用,如注册和注销 broadcast
                     */
                    @Override
                    public void onStop() {

                    }
                }
        );

依赖

Maven

<dependency>
  <groupId>com.fanjun</groupId>
  <artifactId>keeplive</artifactId>
  <version>1.1.14</version>
  <type>pom</type>
</dependency>

Gradle

implementation 'com.fanjun:keeplive:1.1.14'

联系我

我的博客:https://blog.csdn.net/qwe112113215
我的邮箱:810343451@qq.com
Apps
About Me
Google+: Trinea trinea
GitHub: Trinea