问题标签 [android-jobscheduler]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
357 浏览

android - 有没有办法在指定时间在同一天和之后的每一天运行一次任务?

有没有办法在指定时间在同一天和之后的每一天运行一次任务?我正在使用一个名为“ android-job ”的库,因为即使在设备重启后它也会保留预定的作业。我一直在努力使这个库适用于我的用例,但没有运气。

注意:最终目标是每天在指定时间启动和停止后台服务。例如,我想在晚上 8 点停止我的服务并在早上 8 点重新启动它)。

目前,我的代码如下所示:

控制台输出:

0 投票
2 回答
698 浏览

android - 只要有可用网络,作业计划程序就运行作业?

我正在使用下面的代码来安排作业在有互联网时运行,但它只运行一次,我希望它在有可用网络时运行。这可能吗?

我尝试使作业定期并添加一个网络约束,认为它会在经过一段时间后睡眠和唤醒并检查可用网络,如果有可用网络,那么它将执行作业,否则它将返回睡眠模式但我没有得到想要的行为,因为只要时间段结束,作业就会一直运行(好像没有网络限制)

这是调度代码

0 投票
1 回答
640 浏览

android - 在通过作业调度程序安排服务后完成活动?

我正在使用作业调度程序,我的主要活动安排了一项服务,以便在下次有互联网连接时启动。因此,当第一次安装应用程序时,布局只有一个按钮,当您单击它时,它会安排网络相关服务,然后我希望 Activity 完成(如布局被销毁,以便用户获得他的屏幕在安装应用程序之前有)所以我有两个问题:

1)如果安排服务的活动被破坏,这是否意味着服务仍然被安排或丢失?

2)为什么finish()在 onClick 事件结束时(在安排服务之后)调用该方法没有完成活动,而是什么都没有发生,好像finish()甚至不存在一样?

这是 OnCreate 代码

0 投票
0 回答
930 浏览

java - 我应该使用 Job Scheduler 还是 Service

我正在制作这个电影数据库应用程序,我认为每次创建活动时调用 API 对用户来说都是非常昂贵的。所以我想也许我应该每天只调用一次 API,因为没有很多电影每 10 分钟发布一次。那么我应该使用 Job Scheduler 还是其他类似 Service 的东西?我在android开发方面不是很先进。我可以很好地查看代码并理解它们。你们能用一些使用 Job scheduler 之类的示例代码来指导我吗?多谢你们。

0 投票
0 回答
77 浏览

android - 即使不满足条件,Job Scheduler 也会触发作业

我正在使用计量网络并且我的 wifi 被禁用,但我的工作开始了。

0 投票
0 回答
365 浏览

android - Android 本地广播在 JobService 中不起作用

我正在尝试从 JobService 发送广播并从活动中接收它。

这是我尝试过的

我的工作服务

在我的活动中

编辑

我有条件地发送广播,如果活动处于 onResume 状态,我正在发送广播

0 投票
1 回答
700 浏览

android - 在满足条件时运行定期作业?

每次有可用的互联网时,我都使用以下代码运行作业。我还想要的是,在触发服务后(由于可用连接),只要有互联网,我希望该服务继续运行 g 定期(每 30 秒),然后当连接不再可用时,该服务应该停止并仅在下次有互联网时恢复。

我想过让 JobService 自己安排下一次运行(在 30 秒内),时间到后,测试是否有互联网然后好的,否则我会调用 Onstop 方法,但感觉不像解决这个问题的正确方法。

0 投票
7 回答
36605 浏览

android - 作业调度程序与后台服务

我有一个应用程序,它的功能 A 应该每分钟在后台运行。功能 A 是应用程序应该连接到数据库,读取一些数据然后获取设备的当前位置并根据它们检查条件,如果条件为真,它应该向用户发送状态栏通知,以便当用户单击通知,将显示应用程序的 UI 并发生一些事情。
这个后台任务应该每分钟永久运行一次,无论应用程序被使用、关闭、终止(如 facebook 或 Whatsapp,无论它们是否在应用程序堆栈中都会向我们显示通知)。
现在我搜索并发现 Android 提供Job SchedulerBackground ServiceAlarmManager处理程序
但我对它们的了解越多,这些陈述在我看来就越矛盾。

  1. 关于处理程序我读过它们不会长时间延迟存在,并且将在系统重新启动后终止。所以它们不适合我的任务。
  2. 但是 AlarmManager 似乎是解决该问题的一个很好的候选者,因为即使在系统重新启动后它们也存在并且可以重新运行应用程序。但在Android 文档中,警报管理器旨在用于必须在特定时间运行的任务(如闹钟)。但是我的任务必须每分钟运行一次。
  3. 然后是后台服务。这更适用于我已经阅读过的诸如在后台下载之类的任务,而不是为了做我已经解释过的事情。
  4. JobScheduler 似乎不是用于必须永久完成的任务,而是用于满足特定约束(如空闲或没有网络)的任务......所以您建议使用其中哪些(或其他如果存在)对于我在第一部分中解释的任务
0 投票
1 回答
422 浏览

android - JobDispacter vs Android-job(Evernote)

我有一个关于使用哪个 API 为低于 5.1(LOLLIPOP)的设备运行后台作业的查询。由于 JobScheduler API 仅支持 5.1 及以上的设备。我想为 5.1 以下的设备实现一个后台作业 API。任何从事此工作的人都可以提出您的宝贵建议,以便我根据答案采取行动。

谢谢你。

0 投票
2 回答
1947 浏览

android - 如何使用 Jobscheduler 安排作业

我正在学习如何使用 JobScheduler。如 onresume 方法所示,我设置了执行作业要满足的条件,作业将在设备不充电时调度,无论设备是否空闲,作业将每 7 秒执行一次。

在运行时,USB线连接到设备以安装应用程序,这意味着设备正在充电,因此安装应用程序后作业尚未开始,因为设备正在充电,但在我拔下USB线后我执行了要执行的工作,但发生的事情是工作从未开始,我不明白为什么

请让我知道为什么会发生这种行为,并请让我知道以下问题的答案,这将有助于我更好地理解 jobScheduler:

Q: setRequiresCharging(false) 是指只有在设备不充电时才会执行任务,还是意味着无论设备是否在充电,任务都会执行?

主要活动

}

工作服务

}