问题标签 [jobservice]

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 投票
2 回答
477 浏览

java - 避免两次实现方法(已经扩展抽象类的类)

我有一个Plugin.java类,我在其中定义了两种方法,一种是使用 JobScheduler(如果 API >= 21),另一种是使用 AlarmManager(如果 API < 21)。

scheduleDeleteJobScheduler() 方法使用 JobService 删除我在数据库中的一些旧条目。

scheduleDeleteAlarmManager() 方法使用 BroadcastReceiver 来做与 JobService 相同的事情。

这两个类都调用 deleteOldEntries() 方法从数据库中删除旧条目。此方法对(JobService 和 BroadcastReceiver)都是相同的。我想要做的是避免有两种实现相同的方法。

  • 因为我已经在扩展 JobService 和 BroadcastReceiver,所以我不能使用 Abstract 或 Super 类。我知道 Java 不允许我扩展多个类,因为它会导致编译器无法决定使用哪个超类方法的“钻石问题”。
  • 通过使用接口,我只能声明没有实现的方法(方法签名)。
  • 我知道我可以使用静态和默认方法(使用接口),但它们是在 Java 8(Android Nougat - API 24)中引入的。因此,如果我使用它们,使用 JobScheduler (API >= 21) 和 AlarmManager (API < 21) 的整个逻辑将毫无意义。

我可以让另一个类实现该方法,然后从 ScheduleDeleteService (JobService) 和 ScheduleDeleteReceiver (BroadCastReceiver) 类中调用它,但我想要一些建议来帮助我更好地实现。

0 投票
0 回答
229 浏览

android - 如何使用 JobScheduler 每 30 秒自动更换壁纸?

我正在创建应用程序,其中有一个复选框允许用户在 30 秒后自动更改壁纸。我正在使用 JobScheduler 并通过将图像序列化到 JsonArray 然后传递到 String 并使用 PersistanceBundle 传递图像的arraylist:

还有我的 JobService 类:

我不知道如何在 JobService 中的列表中每 30 秒后设置壁纸(一张一张)?谁能告诉我 setperiodic 函数是如何工作的(30 秒后会发生什么)?这种方法可能是错误的。谁能指导我如何做到这一点?提前致谢。

0 投票
2 回答
71 浏览

android - 是否可以创建一个在闹钟响起时触发的 JobService

是否可以创建一个在闹钟响起时触发的 JobService?

我曾经在广播接收器的清单中有此代码:

但它不再适用于 Android 8 Oreo。当闹钟响起时,有没有办法处理某些任务?例如,当用户早上醒来时,我想显示一条“早上好消息”。

0 投票
0 回答
428 浏览

android - 使用 JobScheduler 代替 MQTT

我正在开发一个使用 Mqtt 的应用程序,并且我正在尝试引入 Jobservice 而不是 Mqtt 服务。可以为 Android Oreo 中长期运行的后台服务执行此操作吗?这是我的代码。

0 投票
2 回答
1417 浏览

android - 在我的实时设备上运行代码时,Firebase 作业调度程序不会触发我的 JobService 类,为什么?

我正在开发一个项目,该项目使用 firebase 作业调度程序来安排间隔运行的作业。但问题是,我在 android studio 模拟器上运行了代码,它运行得很好。作业已安排好,我收到了来自服务类的祝酒词,表明代码执行成功,但是我尝试在实时 android 手机上运行它,代码在设备上构建并运行,但从未安排过作业, 没有收到消息。我尝试了一切,但仍然没有调用 jobService 类。我尝试在模拟器上再次运行该应用程序,它运行良好,但它从未在我的实时设备上运行。请问这可能是什么原因。我将 firebase gradle 依赖项添加到 build.gradle 文件中。我将 jobService 添加到清单文件夹中。我不知道造成这种困境的原因是什么。请我需要一个解释。谢谢。

主要活动

工作服务类

显现

构建.gradle

0 投票
4 回答
7301 浏览

android - 我可以使用作业调度程序发送通知吗?

我正在尝试在作业服务运行时发出通知。它不工作。我想知道启用 Job 服务时提供通知的正确方法。请帮助我理解这些概念以及如何使其发挥作用? 注意:计划正在运行,我正在尝试添加通知,但它不起作用。

}

0 投票
1 回答
560 浏览

android-jobscheduler - 如何在 jobInfo 中设置一个最长时间,以便在此时间之后取消作业?

我有一个 jobService 安排一个工作

我想将最大延迟设置为 1 天,这样作业将在 1 天后取消,它不符合所有要求。我正在考虑使用setOverrideDeadline(1d),但它会在 1 天的截止日期前执行这项工作。并且setTriggerContentMaxDelay工作相同。其实我想知道和之间的setTriggerContentMaxDelay区别setOverrideDeadline

0 投票
1 回答
493 浏览

android - jobFinisced 的空对象引用

我正在使用 JobService 构建一个应用程序。这个 JobService 应该每 1 分钟启动一次服务。

这是我的 JobService 类:

但是如果我尝试启动这个 JobService 我有这个错误:

问题出在这一行代码上:

参数为空

0 投票
0 回答
784 浏览

android - 使用 JobService 启动 Service 的正确方法

我正在构建一个 JobService。这个 JobService 应该每 5 秒启动一次服务。但如果服务已经在运行,我不应该启动它。现在这是我的 JobService:

在我的活动中,这是启动 JobService 的代码:

但是这段代码不起作用,因为服务启动了两次,然后作业没有执行任务。

0 投票
0 回答
964 浏览

android - JobScheduler:使用 AsyncTask 最终不会调用 doInBackground

Kotlin 和 Android 菜鸟在这里...

我正在尝试创建一份工作,但我的异步任务运行时遇到了一些麻烦。这是我的工作服务:

这个想法是在 doInBackground 中放置几个​​ Web 服务调用和本地数据库代码。不幸的是,它永远不会被调用......有人可以指点一下我所缺少的东西吗?我也尝试用线程重写代码,但仍然没有任何运气。不确定它是否重要,但这是我用来安排工作的代码: