问题标签 [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 回答
525 浏览

android - FusedLocationProviderClient 和唤醒锁

我正在实施一种解决方案来跟踪我的应用程序中的位置更新,包括前台和后台,并在位置更新时执行一些任务。

根据https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient#requestLocationUpdates(com.google.android.gms.location.LocationRequest,%20android.app ) 中的 Google 建议.PendingIntent),我使用了 requestLocationUpdates API 的 PendingIntent 变体。

更改位置时执行任务的最佳方式是什么?

根据 Google 示例https://github.com/googlesamples/android-play-location/tree/master/LocationUpdatesPendingIntent,位置更改时要执行的任务在广播接收器的 onReceive() 中完成。这种方法不处理唤醒锁和设备背景限制。

根据我在浏览各种stackoverflow答案和不同博客后的理解,我必须使用JobIntentService。

  1. 使用 JobIntentService 是满足我要求的正确方法

  2. 当位置更改时,当设备处于睡眠模式时,应用程序是否需要获取唤醒锁才能执行任务(我知道 JobIntentService 会自动处理唤醒锁)。

  3. 当系统回调如 onlocationChanged(),onReceive() 的 BroadcastReceiver() 被调用时,当设备处于睡眠模式时 CPU 会自动唤醒。如果被唤醒,它将激活多少时间?它是否等待回调完成。

0 投票
0 回答
222 浏览

android - JobIntentService 无法在警报应用程序的打盹模式下工作

我正在制作一个闹钟应用程序,用于在准确的时间唤醒用户。我正在使用 JobIntentService(因为 Android O+ 设备不支持后台服务)来显示这样的通知警报:-

(AlarmManager -> BroadcastReceiver -> JobIntentService -> ShowNotification)。

但是现在在 Android O+ 设备上,JobIntentService 由于打盹模式而延迟,并且通知警报不会在确切时间显示。
即使当我使用 setExactAndAllowWhileIdle() 时,AlarmManager 也会退出打盹模式,但 JobIntentService 仍然会延迟。

除了以下选项之外,我无法为我的案例/场景找到任何替代方案:-

由于用户必须玩游戏才能停止\暂停闹钟,因此持久的前台服务将继续播放闹钟,直到用户打开应用程序(通过点击前台服务)。警报将一直播放,直到用户玩游戏。用户玩完游戏后,前台服务(持续警报)将停止。

0 投票
1 回答
284 浏览

java - 奥利奥和派的后台服务问题

基本上我想在后台发送纬度和经度,它在奥利奥版本下工作正常,但我被困在那个部分。它工作得很好。我添加了一个后台 JobIntentService,它在 Oreo 和 pie 背景中运行良好,但是当我在 2 分钟后锁定屏幕时,它会禁用或停止向我的服务器发送位置。

0 投票
0 回答
112 浏览

kotlin - JobIntentService 中 onHandleWork 中的辅助构造函数数据即将为空

我不知道为什么 onHandleWork 中的数据变为 null ,这是我的努力:

日志猫:

0 投票
0 回答
58 浏览

android - 我的“JobIntentService”在后台运行不佳

当我开始时JobIntentService,它工作正常,但进入手机睡眠后它会在一段时间后暂停。当我解锁手机时,它又开始工作了。

我想在后台有一个很长的任务,它不能暂停或停止。

这是我的JobInteneService

这是MainActivity

这是AndroidManifest.xml

使用此代码,我的手机将每分钟播放一次哔声。在手机睡眠模式下,我在半小时内数到最多 6 次哔声。我是否JobIntentService正确实施?如果JobIntentService不是为这项工作而设计的,我还应该使用什么?

0 投票
1 回答
471 浏览

android - 如何从服务中访问我的活动的 ViewModel?

我正在构建一个需要检测照片中某些对象的应用程序。我首先将所有要检查的照片加载并保存到我的房间数据库中,并使用 ViewHolder 将其连接到我的视图。当用户单击一个按钮时,我希望开始检测过程,并且我想为此使用 jobIntentService(因为那里可能有数千张照片)。

我的问题是 - 我如何从服务中访问视图持有者?我需要它来实际获取文件,并且一旦检测到,我就可以更新每个文件的记录。我试图将活动作为属性之一,但我收到此错误

将不胜感激任何输入,谢谢

0 投票
1 回答
540 浏览

java - 从 JobIntentService 调用活动方法

我想在 onHandleWork 内的 for 循环中调用一个非静态方法。我怎样才能做到这一点?

0 投票
1 回答
1047 浏览

android - 在 Android 中不需要 android.permission.BIND_JOB_SERVICE 权限

虽然这已经回答了。我已经尝试过这些但没有运气。就我而言,我在同一个项目中使用 JobService 和 JobIntentService 进行测试和学习。JobService 工作正常,但是当我尝试 JobIntentService 时,它​​在我的情况下不起作用,我面临以下错误:

尽管正如其他答案中所建议的那样,我需要在我的清单中添加权限,并且我已经给出了该权限,但仍然无法使其运行。下面是清单代码。

下面是我用于 JobIntentService 的代码以供参考或更好地理解

}

下面是负责调用我的服务或启动我的 JobIntentService 的方法代码

任何帮助将不胜感激。

0 投票
1 回答
75 浏览

android - 如何在非 AndroidX 应用程序中集成任何 AndroidX SDK

我已将我的 Android 库项目 (SDK) 迁移到 AndroidX,它正在使用implementation 'androidx.core:core:1.1.0'依赖项。将此 SDK 集成到非 AndroidX 应用程序后,我的 SDK 崩溃并出现以下异常:

我的一些 SDK 用户还没有迁移到 AndroidX,但我希望他们使用我的 Android 库的最新版本,它有 AndroidX。我尚未发布带有 androidx 更改的库,如何在非 AndroidX 应用程序中支持 AndroidX 库?

0 投票
1 回答
7595 浏览

android - 何时使用 JobIntentService 与 WorkManager?

Google 最近弃用了 IntentService:https ://android.googlesource.com/platform/frameworks/base.git/+/6f8b09029932dfd24945202017639754b00acc2e

IntentService 的文档现在说:

那么 JobIntentService 和 WorkManager 有什么区别,在什么情况下推荐使用哪一个呢?

谷歌甚至没有在这个页面上提到 JobIntentService,他们只提到了 WorkManager:https ://developer.android.com/guide/background