问题标签 [android-job]
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.
android - 如何让 JobIntentService 在 Oreo 上运行?
我有两个服务。接收呼叫状态的句柄之一。其他处理覆盖窗口。
我的问题是我无法保持服务运行。我可以重构接收呼叫状态服务。它使每个状态发生变化并像新工作一样运行。但是另一个显示叠加的,我不能这样做。我需要在某处保留覆盖窗口参考,我不想这样做。我需要保持该服务运行。我试过使用 isStopped 方法。这不符合我的需要。我也可以在 onHandleWork 中添加 while 循环,但它看起来不是一个合适的解决方案。有人有更好的办法让服务在 Android 8 上运行吗?
android - evernote/android-job - 如何定期安排和运行
我已经尝试了evernote-android-job中的所有以下方法。似乎 schedulePeriodicJob 方法在某个时间间隔内运行,而 scheduleAdvancedJob 方法只运行一次。
通过一些示例帮助我如何设置 setExecutionWindow、setExact 和 setPeriodic 的值?
android - 我的工作未在待处理工作中列出:android JobScheduler
设想
嗨,我有一个 JobService,当我来到我的 HomeScreen 时会启动它。这项工作服务从我的数据库中取出我的请求,并在互联网可用时执行它们。因此,即使设备处于脱机状态,我也会将我的事务插入我的数据库中,每当互联网出现时,我的 JobService 都会执行这些事务。
问题
问题是我从多个屏幕来到我的 HomeScreen。所以每次我来到 HomeScreen,我都会再次启动我的 JobService。因此,如果我在互联网出现之前三次访问我的 HomeScreen,那么现在三个不同的服务正在为同一个任务运行。所以我想检查服务是否已经在运行,我不会启动一个。
我试过的
启动我的 JobService 的代码非常简单。我写了一个方法来启动它并调用它OnCreate()
我打电话executeQueue
进来onCreate()
。我在 StackOverflow 上搜索并找到了这个链接:
如何检查 JobService 是否在 android 中运行?.
所以我现在在我的 HomeScreen 中有这个方法来检查我的 JoService 是否正在运行:
但是在这种方法中,它永远不会列出我正在运行的 JobService 并且我false
每次都得到,因此再次遇到我的 JobService 多个实例的相同问题。
我希望我把我的问题说清楚了。
java - 如何在固定时间为每天的工作设置准确的时间到android工作?
我正在尝试安排每天晚上 10 点运行的作业。
我尝试使用 setExact 方法并通过将 22 小时转换为毫秒来提供毫秒数,为了进行测试,我执行了应用程序并将系统时间更改为晚上 10 点,但作业没有执行。
我还尝试给出即将到来的时间,因此将 12:45 转换为毫秒并提供给 setExact 方法。但这也没有用。
我该如何设置和测试?
文件跟踪作业
主要活动
主应用
DemoJobCreator
我还安排了一项定期工作,这项工作不适用于像 red mi 这样的设备,在一台三星设备上它没有重复,但在 moto g4 plus 上运行良好。
有人可以帮忙吗?谢谢..
android - 当未满足强制要求时,是否忽略 Enote Android 作业中的执行窗口结束
我正在使用Evernote 的 Android 作业库来安排作业在设备在线时运行,代码如下:
正如我所观察到的,调度程序正在等待网络,并且 - 当设备联机时 - 运行作业,即使指定为执行窗口结束的时间(在我的情况下SECONDS.toMillis(10)
)已经过去。所以我的问题是 - 这个参数(endInMs
在setExecutionWindow
方法中)在被调用时是否完全被忽略setRequirementsEnforced(true)
?
android - 作业在应用程序启动时运行,不应该
我有一个来自 Evernote 库的 android-job。该作业设置为在某些情况下定期运行。所以只有当我想定期开始工作时才会调用工作构建(这不是在我的应用程序的开头)
创建一个作业服务:
就业创造者:
在应用程序类中添加注册作业所需的行:
此时应用程序启动并创建了 JobService 类。(好的)但是在这个类中,有这个方法scheduleJobPeriodically,并且这个方法被触发并且它不应该被触发,因为我没有明确地启动它。我已经在调试模式下启动了我的应用程序,并且我确信不会直接调用定期创建,以及为作业设置标签的 JobRequestBuilder。但是onRunJob中的代码被触发了,这就是问题所在。
预先感谢。
android-job - 这个日志是什么意思?
我在 20:23(包括 GMT 5:30)安排了一份工作。
我正在尝试从午夜 00:01 到 20:00(晚上 8:00)安排日常工作。
我注意到以下日志:
这个日志具体想告诉我什么?( start 03:36:35, end 23:36:35 (from now)
)?
我是否正确安排了日常工作?
android - 在 Evernote Android-jobs 中设置间隔小于 15 分钟
我正在使用Evernote Android Jobs库在我的 Android 8.1.0上安排任务。定期作业的默认最小间隔为 15 分钟,这使得调试非常耗时。我发现一篇文章说我们可以使用
用于更短的调试间隔,但是当我使用它时,我在 getConfig() 下得到一条波浪线。如何减少间隔时间?
Android-jobs 版本1.2.6
android-jobscheduler - Oppo Realme1 Job Schduler 定期工作的最小间隔为 1 小时
目前我正在使用WorkManager 1.0.0-alpha05
. 我使用以下设置定期工作请求code
。当间隔低于 1 小时时,In Oppo Realme
(Android 版本 - 8.1.0 , ColorOSVersion V5.0
) 作业在1
hr 处执行。当间隔大于1
hr 作业在确切时间执行。当间隔小于1
小时时,作业在1
小时执行。
请让我知道所需的任何日志或信息:
安排定期作业的代码:
在所有其他设备中定期工作请求间隔是正确的。在 Oppo Realme 1 工作在1
小时执行。
Oppo Realme 1:间隔 15 分钟
我使用以下命令调试 Job Schduler:
adb shell dumpsys jobscheduler
Oppo Realme 1:间隔 1 小时 10 分钟
日志:
其他设备:
日志 :
我也尝试使用不同的库。我在 Job Scheduler 和 Android-Job 中发现了相同的行为。作业周期长度为 15 分钟,但执行时间为 1 小时,但是当我尝试使用 Firebase 作业调度程序时,作业以正确的 15 分钟间隔时间执行。
我使用以下命令调试 Job Scheduler 和 Android-Job: adb shell dumpsys jobscheduler
作业调度器:
间隔:15 分钟输出 :1 小时
日志:
Android-工作:
间隔:15 分钟输出:1 小时:
日志:
Firebase 作业调度程序:
我使用以下命令调试 firebase 作业调度程序: adb shell "dumpsys activity service GcmService | grep com.jobscheduler_periodic"
间隔: 15 分钟输出:15 分钟
日志:
android - 从 Evernote Job 迁移到 Workmanager
我们使用https://github.com/evernote/android-job为我们的应用程序进行后台同步。现在我们计划迁移到 Workmanager。
我的问题是,在我们的新版本中,我们将包含与 workmanager 相关的类,并删除与 android-job 相关的类以及 evernote 库。对于我们现有的用户,一旦他们升级到这个新版本,如果旧工作被解雇,会发生什么?如果应用程序在调用期间崩溃?
这是在升级期间删除作业相关文件的好习惯吗?