问题标签 [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.
android - 具有空闲要求的 Android JobScheduler 不会被解雇
我有一个service
扩展JobService
如下:
并使用JobInfo.builder
我从中实例化并使其运行JobScheduler
如下:
即使我使用:
没有任何效果。虽然这样:
显示作业已正确安排,但即使是服务的 1 行也不会被调用!任何想法?
关于清单:
一切似乎都正确!!!
===========没有空闲要求的编辑被解雇但经过很长时间。
TG。
android - android-job:每天一次,DeviceIdle = true,尽快
需要一些帮助才能使用android-job lib正确设置我的定期作业。
我想每天开始工作一次,设备处于闲置状态。此外,工作应在当天尽快开始。这意味着最好的工作是在上午 00:01 开始。
这不是这里描述的解决方案!
这可能吗?谁能给我一个正确解决方案的提示?
如果设备空闲,这是我每天一次的作业代码片段
android - Android作业调度程序定期任务在某个时间或设备重启后不起作用
我正在尝试使用 job scheduler 执行定期任务。我想每 10 秒后调用一次服务,它可以正常工作几个小时,但有时它会停止工作,并且在设备重启后它不工作。
这是我尝试过的
我的工作服务是
这GetAlertService
是调用 Web 服务的服务
编辑
我还在引导接收器上添加了这个,如下所示
在清单中
java - 如何防止自动备份 Android 应用程序?
我在某些设备(带有 Android 7 的 Nexus 5x)上遇到了非常奇怪的情况:当我清理它的数据并卸载它,然后用 Studio 安装它时,该应用程序没有统一化,但它使用 1 月 24 日的数据!我用平板电脑尝试了相同的程序,但该应用程序没有数据。
我已经多次重复这个过程,我清理了我的项目,多次重建它,它总是从 1 月 24 日的数据(数据库和共享首选项)开始。
我什至尝试了 adb shell 并运行 as 来清理数据:
我删除了它们,应用程序似乎是空的 - 直到我删除它并再次安装 - 1 月 24 日又回来了。
这是它如何开始的日志:
这是从调试器获得的数据库位置:
摇篮:
清单部分:
我不想让我的手机恢复出厂设置以摆脱这些数据。我不认为这些数据在我的构建中。我没有添加它们,安装时平板电脑中的应用程序是空的。
android - Firebase JobDispatcher-Scheduled 作业在设备重启时丢失
我正在使用Firebase-JobDispatcher。我已经安排了一些作业,如果我保持设备打开,它的工作正常。但是如果我重新启动我的设备,那么预定的作业不会执行或它不会被重新安排?我用过setLifetime(Lifetime.FOREVER)
。设备重启时仍然丢失工作。下面是我使用的代码 -
android - 在 Android 上每天运行一次计划任务
我的 Android 应用程序通过在特定时间发送通知来帮助用户遵循他们的日常计划。使用 JobScheduler 可以轻松解决此任务。这似乎是简单、轻便和最新的解决方案。
我正在苦苦挣扎的是如何计划每天的所有通知。我需要运行代码来检查用户每日计划并在每天午夜静默地安排通知。到目前为止,我发现了 2 种方法
使用作业服务。它可以重新安排
public final void jobFinished(JobParameters params, boolean needsReschedule)
但我认为这是一个不好的解决方案,因为
我需要将完成的工作视为失败,尽管它是成功的
计划时间将线性/指数增加,这对我来说是不可接受的。
另一种方法是使用 AlarmManager,但它也有一些缺点
- 根据文档
已注册的闹钟在设备处于睡眠状态时会保留(如果在此期间它们响起,可以选择唤醒设备),但如果关闭并重新启动,则会被清除。
这是不可接受的,因为我的用户可能会错过一些重要的事情。
- 我读过它很快就会耗尽电池。真的吗?
我在文档中找到的其他解决方案看起来不像我需要的。(https://developer.android.com/topic/performance/scheduling.html)
任何想法如何每天运行计划任务,这将是轻量级和有弹性的重启?
android - 为什么即使没有验证可用的网络条件,作业也会运行?
我正在使用作业调度程序,因为不再可以在清单中声明网络连接意图。我尝试使用.setPeriodic(10 * 1000)
使作业定期进行,但这样做,即使没有可用的网络,作业也会在 10 秒后运行,就好像它忽略了这条线一样.setRequiredNetworkType(NETWORK_TYPE_ANY)
如果我删除.setPeriodic(10 * 1000)
,那么作业只运行一次。我想要实现的目标与在后台优化和基于连接更改禁用应用程序唤醒之前可能实现的目标相同:如果有可用的网络,则运行作业服务,如果没有则什么也不做。
这是jobService
我已将此添加到清单中
android - 如何设置在有互联网连接时触发警报管理器?
我已经使用警报管理器在特定时间发出声音或在特定日期重复,但我似乎无法找到一种方法让它在“可用网络上”的特定条件下触发。
我需要这样做,因为我在清单中使用了一个触发后台服务的意图,这一直有效到 api23。当我想为 api > 23 做类似的事情时,我得出的结论是我可以使用作业调度程序或警报管理器。我想尝试两者,看看在这种特定情况下哪个对我更有用。
android - 屏幕开启时设置作业调度程序(设备未空闲)?
我知道该方法setRequiresDeviceIdle(boolean requiresDeviceIdle)
使作业在设备处于空闲模式时运行。
我想要的是相反的,我希望在设备不处于空闲模式(屏幕打开并且用户正在使用电话)时运行作业,我知道这setRequiresDeviceIdle(false)
不会完成这项工作,因为说“ false
”意味着它不是必需的,因此它会在空闲和空闲时运行。
android - setRequiredNetworkType 不适用于周期性任务?
根据我的理解,以下代码应该设置一个仅在有网络连接时才运行的定期作业。这意味着尽管是周期性的,但除非满足所需的条件,否则它不会运行。
但这不起作用。无论是否有网络,它总是在该时间段之后运行。难道我做错了什么 ?