问题标签 [jobintentservice]

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 回答
410 浏览

android - Best way get GPS Location in background for Android API level 30 and higher

My application determines the speed limit by the user's location and tells the user if he has exceeded it. Starting with Android API level 30 and higher, Google has defined IntentService as deprecated and suggests using WorkManager or JobIntentService and also states that it is necessary to migrate from Firebase JobDispatcher to WorkManager. I see two ways to solve this problem:

  1. Start OneTimeWorkRequest and specify to restart this method periodically in this method while the application is running in the background.
  2. Run PeriodicWorkRequest with a minimum allowed interval of 15 minutes. In this method, run the JobIntentService method, which runs for up to about 10 minutes, but the method may not run or may be destroyed by the system before it is complete.

I'm worried about:

  • potential memory leaks;
  • potential problems with WorkManager or JobIntentService when going from foreground to background and vice versa
  • the ability to use the MVVM pattern
0 投票
1 回答
238 浏览

kotlin - Kotlin:如何从 Fragment 调用 JobIntentService?

我正在创建 GPS 跟踪应用程序。所以我需要在后台(或前台?)运行这个应用程序。当我点击 Fragment (FirstClass) 中的“开始”按钮时,如何调用 JobIntentService (SecondClass) 类?

例如,我查看了这段代码- 但我仍然不明白如何从 Fragment 类调用 JobIntentService 类。

我尝试像这样调用 SecondClass (来源):

val contentIntent = Intent(context, SecondClass::class.java)

但它以这个错误结束:java.lang.RuntimeException: Unable to instantiate service com...SecondClass: java.lang.InstantiationException: java.lang.Class<com...SecondClass> cannot be instantiated

0 投票
0 回答
82 浏览

android - Kotlin: enqueueWork + JobIntentService

我正在使用 GPS 跟踪创建应用程序。我正在使用enqueueWork调用 JobIntentContent (有一个循环,直到用户通过点击停止来停止它)。它可以工作,但应用程序在 cca 30 秒后进入睡眠状态(我每 10 秒用响铃计数一次)。几分钟后再次醒来几秒钟。我需要做什么才能使应用程序保持活力?

我的 AndroidManifest.xml 包含:

正如我在此处阅读的那样,JobIntentService 不适合用于此。那么我必须使用什么?

0 投票
0 回答
15 浏览

service - 你好,我怎样才能让服务在 Android Oreo 上保持活跃?

如何在 Android Oreo 中保持服务处于活动状态,以便像 adm 程序一样,当软件关闭且服务正在运行时,复制的每个链接都会通知我的软件。

0 投票
0 回答
169 浏览

android - 由于 Intent Service 已被弃用,如何在 kotlin 中使用 Job Intent Service 编写此代码?

图片

0 投票
0 回答
93 浏览

android - 我的 JobIntentService 在 JobParameters.completeWork 方法中有很多崩溃?

自从我开始使用 JobIntentService,它取代了 Android-Oreo 之后的 IntentService,我的控制台开始出现崩溃。它不是在我的代码中崩溃,而是在 android 库中(而且它也无法在我的设备上重现它们,因为它只发生在大约 1000 个用户中)。

这是控制台:

我检查了源代码,它Given work is not active在 JobParameters 类中在线崩溃,请参阅代码:

这是什么意思?我怎样才能防止这种情况发生?我不知道做错了什么......这是一个标准的 JobIntentService。(是的,我使用的是唯一的工作 ID)。这是简化的代码:

我究竟做错了什么?

0 投票
1 回答
42 浏览

android - When app is onAppBackgrounded I need to upload data to server android

I need to upload the data to the server in a different thread (not on the main thread). I have tried WorkManager to do this job like below. But WorkManager is not getting triggered every time I background the app. How can I send the data to the server in a different thread while the app goes to the background every time?

0 投票
0 回答
7 浏览

android - 关于如何用 JobIntentService 替换 IntentService 的 CSV 导出示例

我正在阅读一本指导您实现 Android 应用程序的书。在那里,展示了如何将数据从数据库导出到 csv 文件。概念如下:

  1. 我们在activity的ActionBar中添加了一个菜单ListDataActivity

  2. 我们覆盖菜单的onOptionsItemSelected方法首先检查用户是否已授予应用程序写入外部存储的权限。如果是这样,exportAsCsv()则称为:

  3. ExportService 类扩展了 IntentService。我们重写该onHandleIntent方法。

我的问题是它IntentService似乎已被弃用。因此,我已将其替换为JobIntentService并且已替换onHandleIntentonHandleWork. 不幸的是,这不是我要做的全部。我知道我必须通过调用某处来调用onHandleWork自己。enqueueWork但是,我不知道在哪里打电话enqueueWork。我想可能在里面ListDataActivity,像这样:

当还包括一个静态enqueueWork方法时ExportService

但这并不能解决问题。有人可以向我解释我做错了什么吗?不enqueueWorkstartIntent

0 投票
2 回答
72 浏览

android - 接收来自 emqx 推送消息的长时间运行服务

我想实现一个长时间运行的服务来接收来自emqx服务器的推送消息(即使程序没有运行)。如果我使用 android Service 或 JobIntentService,则有必要显示一个非预期的通知。如果我使用 WorkManager,可以定义的最小重复间隔为 15 分钟。出于某种原因,我们不想使用 Firebase。这个问题有解决方案吗?

0 投票
0 回答
58 浏览

android - IllegalArgumentException 与 JobIntentService 在后台

我正在使用 JobIntentService 来检测来自 Google Activity Transition API 的活动。

在使用 Target SDK 30 (Android 11) 进行更新后,我在所有 Android 平台上的 Crashlytics 中都收到了很多崩溃。它们 99% 发生在后台,我自己无法重现。

为了接收事件,我使用广播接收器,然后我将具有唯一作业 ID 的作业服务排入队列

我正在使用最新的工作运行时库(截至今天 20.12.2021)

这里的问题是:

  • 我如何识别并希望解决该问题
  • Google Activity Transition API in the Background 还有其他推荐的解决方案吗?官方示例仍在使用 IntentService,但已弃用,替换为 JobIntentService,现在也已弃用。

非常感谢任何帮助