服务启动与关闭模块部署基本完成,待调试。。。
This commit is contained in:
@@ -21,13 +21,11 @@ import android.widget.CheckBox;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.Toast;
|
||||
|
||||
import androidx.appcompat.widget.Toolbar;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import cc.winboll.studio.contacts.activities.SettingsActivity;
|
||||
import cc.winboll.studio.contacts.activities.WinBollActivity;
|
||||
import cc.winboll.studio.contacts.dun.Rules;
|
||||
@@ -43,7 +41,6 @@ import cc.winboll.studio.libaes.views.ADsBannerView;
|
||||
import cc.winboll.studio.libappbase.LogUtils;
|
||||
import cc.winboll.studio.libappbase.LogView;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ import java.util.TimerTask;
|
||||
* @Date 2025/02/13 06:56:41
|
||||
* @Describe 拨号主服务,负责核心业务逻辑、守护进程绑定、铃声音量监控及通话监听启动
|
||||
* 严格适配 Android API 30 + Java 7 语法规范 | 解决前台服务启动超时崩溃
|
||||
* 新增:统一在 mainService() 中启动电话监听服务 + 通话筛选服务
|
||||
*/
|
||||
public class MainService extends Service {
|
||||
// ====================== 常量定义区(全硬编码,杜绝高版本 API 依赖) ======================
|
||||
@@ -299,12 +300,24 @@ public class MainService extends Service {
|
||||
}
|
||||
|
||||
/**
|
||||
* 启动通话监听服务
|
||||
* 启动电话监听服务(原有:CallListenerService)
|
||||
*/
|
||||
private void startPhoneCallListener() {
|
||||
delayStartNonCoreService(CallListenerService.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增:启动通话筛选服务(MyCallScreeningService,API 10+ 生效)
|
||||
*/
|
||||
private void startCallScreeningService() {
|
||||
// 通话筛选服务仅 Android 10+(API 29+)支持,低版本跳过
|
||||
if (Build.VERSION.SDK_INT >= ANDROID_10_API) {
|
||||
delayStartNonCoreService(MyCallScreeningService.class);
|
||||
} else {
|
||||
LogUtils.d(TAG, "startCallScreeningService: 系统版本低于 Android 10,不支持通话筛选服务,跳过启动");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 检查服务是否正在运行
|
||||
*/
|
||||
@@ -404,9 +417,10 @@ public class MainService extends Service {
|
||||
mMainServiceThread = null;
|
||||
}
|
||||
|
||||
// 7. 强制停止所有子服务
|
||||
// 7. 强制停止所有子服务(新增:停止通话筛选服务 MyCallScreeningService)
|
||||
stopService(new Intent(this, AssistantService.class));
|
||||
stopService(new Intent(this, CallListenerService.class));
|
||||
stopService(new Intent(this, MyCallScreeningService.class));
|
||||
LogUtils.d(TAG, "onDestroy: 所有子服务已强制停止");
|
||||
|
||||
// 8. 清空静态实例,避免内存泄漏(不改动 Bean 配置)
|
||||
@@ -471,10 +485,13 @@ public class MainService extends Service {
|
||||
Rules.getInstance(this).loadRules();
|
||||
LogUtils.d(TAG, "mainService: 黑白名单规则已加载");
|
||||
|
||||
// 4. 启动电话监听服务
|
||||
// 4. 启动电话监听服务(原有:CallListenerService)
|
||||
startPhoneCallListener();
|
||||
|
||||
// 5. 启动主业务线程
|
||||
// 5. 新增:启动通话筛选服务(MyCallScreeningService,API 10+ 生效)
|
||||
startCallScreeningService();
|
||||
|
||||
// 6. 启动主业务线程
|
||||
mMainServiceThread = MainServiceThread.getInstance(this, mMainServiceHandler);
|
||||
mMainServiceThread.start();
|
||||
LogUtils.i(TAG, "mainService: 核心流程启动完成,主服务正常运行");
|
||||
|
||||
Reference in New Issue
Block a user