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

android - 奥利奥上的长网操作

在我的 Android 应用程序中,用户可以选择在离线模式下使用该应用程序。当用户选择进入离线模式时,我会从服务器下载所有内容(甚至可能需要长达 7 分钟)以供离线使用。此后应用程序的使用取决于离线内容的下载。我正在使用一项服务来下载离线内容。但如果应用程序进入后台,该服务可能无法在 Android 8 中运行。那么下载适用于 Android 8 的离线内容的最佳方法是什么?是一个foreground service还是JobIntentService一个WorkManager

0 投票
1 回答
4462 浏览

android - 隐式启动 JobIntentService

如您所知,这就是我们触发 a 的方式JobIntentService

在这种方法中,我们知道要启动哪个服务并将其类传递给方法。
这是我的问题有什么方法可以 隐式启动服务?
为什么我需要这个?我正在开发一个库,有时应该启动开发人员扩展的服务,显然我无法从库中访问它
我试过什么?我使用IntentService(使用意图过滤器)实现了它,并且在 O 之前的设备上运行良好,但对于 Android Oreo,我收到了这个崩溃日志:

致命异常:java.lang.IllegalStateException:不允许启动服务 Intent { act=someAction pkg=somePackage (has extras) }:应用程序在后台 uid UidRecord{de24eda u0a238 RCVR idle procs:1 seq(0,0,0) }

所以我搬到了JobIntentService,现在的问题是我不能隐式启动它。
任何解决方案或替代方案将不胜感激。

0 投票
0 回答
2305 浏览

java - java.lang.IllegalArgumentException:Oreo 中的给定工作不是活动异常,而我在整个应用程序中使用唯一的作业 ID

如何处理这种异常?当我在整个应用程序中使用唯一的工作 ID 时,Oreo 中的给定工作不是活动异常。


0 投票
1 回答
385 浏览

android - 在 Oreo 的 JobInetentService 中的 requestLocationUpdates 出现错误

我已经编写了一个基于 GPS定位服务,我在其中调用requestLocationUpdates以获取更新的位置并使其正常工作,但是当我针对Android Oreo时,我已经替换ServiceJobIntentService.但是当我运行应用程序时出现错误。请提供解决方案。

我的课

我正在通过以下代码开始服务

0 投票
1 回答
2486 浏览

android - SecurityException:调用者不再运行,上次停止

描述:

对于拥有 android 8 (Oreo) + 设备的用户,我们一直在 Fire Base 控制台上观察到此崩溃。堆栈跟踪显示它是导致此致命异常的内部方法。

环境和设备详细信息

设备信息:

  • 设备:三星、华为、HMD Global、小米等
  • 操作系统版本:Android 8.0 (Oreo)、Android 9.0 (Pie)
  • 崩溃百分比:Android 8.0 (99%)、Android 9.0 (1%)

OneSignal SDK 版本:

堆栈跟踪信息

我们 99% 的崩溃发生在 Android O 上,其中大量用户使用三星设备(但这似乎不是三星独有的问题,还有相当数量的 HTC、LG、谷歌等。 设备)

如果您需要更多信息,请告诉我。

0 投票
0 回答
271 浏览

java - JobIntentService 不会像 IntentService 一样在完成后删除线程

我有来自官方文档的 JobIntentService:

在运行此服务之前,调用后Thread.activeCount()我得到了 33 号。结束第一次运行的服务后,我得到了 34,接下来是 35,依此类推。
为什么 ?有人可以解释一下吗?结束后如何杀死这个线程?这是 JobIntentService 的正常行为吗?IntentService 完美运行,结束后总是杀死一个线程。

我使用以下片段从片段启动此服务:

无论如何,如果我以这种方式启动服务:

JobIntentService 也没有删除线程

0 投票
4 回答
2770 浏览

android - IllegalArgumentException:没有这样的服务 ComponentInfo{JobIntentService}

所以关于这个问题的答案对我没有帮助,我已经声明了所有权限并且已经在我的代码中接受了答案。

AppInfoJobService(CustomJobIntentService) 在 Android OS 8+ 设备上引发以下错误,并且很少发生,无法重现。我们enqueueWork in BaseActivity's onCreate。我们主要有一个activity和fragments。

0 投票
1 回答
1216 浏览

android - 如何解决 AsyncTask 的 RejectedExecutionException?

我在以下方法中从 JobIntentService 调用 asyncTask

但是得到以下异常

0 投票
0 回答
153 浏览

android - JobIntentService 在某些设备中无法正常启动?

以前IntentService用于通过 AlramManager 触发后台服务。现在我将触发后台进程更改IntentServiceJobIntentService从服务器获取数据。在某些JobIntentService不触发的设备中,只有在打开应用程序后才会触发。

设置警报管理器

广播接收器类

JobIntentService 类

我的编码有什么问题吗?帮我解决问题。

0 投票
0 回答
96 浏览

android - 无法从 JobIntentService 执行 LocalBroadcastManager

我有一个 JobIntentService,如果满足某些条件,它必须启动我的 MainActivity 接收的 LocalBroadCastManager。

我是这样做的:

在我的主要活动中以这种方式定义了 LocalBroadCastManager:

到目前为止,我使用的类似代码使用的是服务而不是 JobIntentServices,但是从 API 26 开始,在某些我需要的情况下不再可能执行服务,因此我需要使用 JobIntentServices。

代码是这样的:

我该怎么做才能让 JobIntentService 成功启动 LocalBroadcastManager?

我无法提供有关错误的更多详细信息,因为在模拟器上执行时它只是以“尽管代码处于 try, catch 块中,但应用程序已停止工作消息完成应用程序。这也基本上是不可能的,因为我的计算机资源用于在模拟器中调试 API 26 以获取更多信息,而且我没有具有 API 26 的物理设备。