问题标签 [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 投票
4 回答
12698 浏览

android - Android JobScheduling - 我需要将一个对象传递给我的工作,但如何?

我想在我的应用程序中使用 Android 的新 JobScheduler,但现在我不知道如何传递我的对象,该对象包含byte应由作业通过网络发送的数据(数组)。我搜索了一个答案,但到目前为止我害怕没有找到答案。

我有一个 JobService:

...正在建立这样的工作:

OtherClass.addJobInBackground(job);

...并且正在安排工作:

Sooo ...我不能直接调用 MyJob 中的任何方法,对吧?然后我想我可以.setExtras(bundle)用来将我的对象传递给工作,但是我发现你只能使用一个PersistableBundle不会像 Bundle 这样的序列化对象。设置键和值是行不通的,因为你只能 putbooleans, ints, strings等,但不能byte[],这正是我所需要的。

有人知道吗?我很困惑。

提前谢谢,我

PS:对不起,如果我可能没有使用正确的代码标签。

0 投票
1 回答
162 浏览

android - GCMNetworkManager OneOffTasks 是否会超时?

可爱的人!

我的应用程序正在使用 GcmNetworkManager 来安排持久作业以将各种消息记录到后端服务。有时,后端服务已关闭,GcmNetworkManager 会自动使用退避重试。但是,我无法真正找到有关它重试时间短和/或重试次数的信息。它只是永远尝试吗?如果没有,是否有可以拦截超时并创建错误日志的地方?

0 投票
1 回答
726 浏览

android - 澄清 OneOffTask 上的 setUpdateCurrent

我试图围绕 GcmNetworkManager 工具中 OneoffTask 的 setTag 和 setUpdateCurrent 的行为。
setUpdateCurrent 的文档是这样说的:

可选设置器,用于指定此任务是否应覆盖具有相同标记的任何预先存在的任务。这默认为 false,这意味着新任务不会覆盖现有任务。

很公平,但它并没有说明任务会发生什么,它只说明了不会发生的一件事——即任务不会被覆盖。:) 我不清楚使用 setUpdateCurrent 是否意味着允许重复任务是否意味着它们被丢弃?

需要明确的是,我的问题是:鉴于您使用了 setUpdateCurrent(false),当您创建一个与已安排的另一个 OneoffTask 具有相同标签的 OneoffTask 时,除了已安排的任务之外,新任务是否仍会发生,或者新任务会被丢弃,作为重复任务被解雇吗?

0 投票
1 回答
667 浏览

android - GCM网络管理器,是否按顺序执行多个一次性任务?

介绍

我有一个应用程序,可以让用户收藏音乐专辑列表。音乐专辑内容存储在设备上以允许离线访问。

最喜欢的选择也通过本地 SQLite 数据库离线存储

如果互联网处于活动状态,最喜欢的请求调用会正常发生,但我想在离线模式下支持它。

我遇到了 GCM 网络管理器,它允许我在网络处于活动状态时安排任务,这样每个离线的最喜欢的请求都会被安排。

问题和我的问题

我浏览了文档并进行了搜索,但找不到这些问题的答案。

  1. 我可以提交多个具有相同标签的一次性任务并确保它们不会被覆盖吗?我问这个是因为文档说setUpdateCurrent一次性任务构建器类的方法默认为 false 以表明它没有被覆盖。但是,该setTag方法指出,如果标签相同,则将更新预先存在的任务,这不是我想要的。我想排队相同的任务,因为它们将是独特的音乐专辑收藏请求

  2. 我认为上述问题可以通过设置我拥有的音乐专辑 ID 的标签来解决,但我不知道 GCM 作业管理器执行其任务的顺序是什么。我用一个例子

这里有两个任务,它们有唯一的标签,第一个首先提交,然后在第二个之后不久。

  • 标签 = 1A-最爱
    • 标签 = 1A-不喜欢

GCM 网络管理员会按照提交的顺序执行这些任务吗?如果在最喜欢之前提出了不喜欢的请求,则可能会导致问题。

感谢您阅读我的问题。

0 投票
1 回答
176 浏览

android - 如何在以下代码中使用 Handler 使我能够运行 JobScheduler

包装 comeagain.materialdesign.activities;

我已经尝试了几乎所有在线尝试解决此问题的解决方案。我想在 onCreate 方法中实现 Handler,我已经实现如代码所示,但它带来了一个错误(Handler 是抽象的;不能被实例化)。请帮助

0 投票
0 回答
255 浏览

android - 应用程序不可预测的行为

我正在制作一个使用 Async Task 和 JobShceduler 并使用 SQlite 的应用程序,问题是当我在模拟器 Api 23 中运行该应用程序时,它不会崩溃,但是如果我在 SAmsung Grand Prime Kitkat 中运行相同的应用程序,应用程序会崩溃。我是一个初学者,我已经没有办法解决这个问题了,非常感谢你的帮助。这是模拟器日志猫。

这是真实设备Logcat

活动主

请求者类

任务加载

我的服务类

0 投票
2 回答
1319 浏览

android - Android - 结合 JobScheduler 检测可用的 WIFI

我愿意检测设备何时在 WIFI 上触发本地通知。

大多数答案包括让 BroadcastReceiver 监听 wifi.STATE_CHANGE。但是有人指出,由于 Android 5.0 JobScheduler 提供了一种更有效的方式来执行此操作:

我的应用程序仍然支持 4.1,所以我不确定是否有任何方法可以为 5.0+ 版本添加 JobScheduler,并将静态广播接收器保留在 Manifest 中,仅用于较低版本。

0 投票
1 回答
51 浏览

android - 在完成 x 秒后安排相同的作业

我正在使用 com.github.yigit:android-priority-jobqueue。我被困在如何在完成 x 秒后或在 onRun() 调用中安排相同的作业。有什么方法吗?

0 投票
1 回答
679 浏览

android - 反应式作业调度器

如何在 Android 上使用 RxJava 模仿 Android JobScheduler(或GcmNetworkManager)行为?

具体来说,我想拥有这个功能

  • 网络活动意识
  • 自动退避和失败重试

后台:使用 Android N,连接更改不再广播到后台线程。为了解决这个问题,谷歌建议使用 JobScheduler/GcmNetworkManager,但我想用 RxJava 解决它。

0 投票
2 回答
6050 浏览

java - Android JobScheduler 执行多次

我正在使用以下代码使用 Androids JobScheduler API 创建和安排作业:

即每 2 小时执行一次的定期作业和执行 20 min * number 的线性退避策略会在作业失败的情况下失败。

我的工作服务代码如下所示:

最后的日志输出如下:

为什么 onStartJob 被调用两次?