You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android JobScheduler调用setPeriodic无效果问题求助

JobScheduler设置5秒周期性任务后停止执行数据检查的问题

我开发了一款基于本地SqliteDatabase的任务创建与提醒应用,核心逻辑是通过JobScheduler服务定时检查设备当前时间和数据库中存储的任务,当时间匹配时推送通知提醒用户。

我原本期望这个服务能在后台每5秒执行一次检查,于是在构建JobInfo时设置了builder.setPeriodic(5000);,同时为了让任务在设备重启后依然保留,加上了builder.setPersisted(true);。但设置完成后,服务完全停止了数据检查工作,根本没有按照预期的频率执行。

以下是我的MainActivity相关代码片段:

public class MainActivity extends AppCompatActivity { 
    ImageButton...
    // 省略其他无关代码
    // JobScheduler初始化相关代码
    private void setupJobScheduler() {
        JobScheduler jobScheduler = (JobScheduler) getSystemService(Context.JOB_SCHEDULER_SERVICE);
        ComponentName componentName = new ComponentName(this, MyJobService.class);
        JobInfo.Builder builder = new JobInfo.Builder(1, componentName);
        builder.setPeriodic(5000);
        builder.setPersisted(true);
        // 其他可能的配置项
        int resultCode = jobScheduler.schedule(builder.build());
        if (resultCode == JobScheduler.RESULT_SUCCESS) {
            Log.d("JobScheduler", "任务调度成功");
        } else {
            Log.d("JobScheduler", "任务调度失败");
        }
    }
}

我已经检查过JobService的实现逻辑,也确认数据库操作没有问题,但就是无法让服务按5秒周期执行。有没有人遇到过类似的问题?或者能帮我分析下哪里出错了?

内容的提问来源于stack exchange,提问作者Hadis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:44:09