1.修复了unbindService(connection)可能造成部分机器java.lang.IllegalArgumentException: Service not registered的bug;
1.应@bob要求,不再要求对KeepLive.startWork()方法中ForegroundNotification强制传参,如果不想要前台服务则传null就可以了。经过极端压力测试,在不使用前台服务的情况下,扛不住,所以不建议不使用前台服务;
//定义前台服务的默认样式。即标题、描述和图标
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() {
}
}
);
<dependency>
<groupId>com.fanjun</groupId>
<artifactId>keeplive</artifactId>
<version>1.1.6</version>
<type>pom</type>
</dependency>
implementation 'com.fanjun:keeplive:1.1.6'
我的博客:https://blog.csdn.net/qwe112113215
我的邮箱:[email protected]