如何重复运行服务的Android 9每隔2-5分钟(PIE)

问题描述 投票:0回答:1

我工作的应用程序,它跟踪用户的工作方式,并回到家里。申请基于插件(其中打印信息到用户),并且检查本地化和cunting信息和插件上显示背景服务。

Android的9之前我用AlarmManager和后台服务,每隔几分钟检查小部件的用户定位和印刷informtions的。在Android的9有服务限制和我不能重复的服务不小于15分钟。 15分钟实在是太多了,有些用户可以在路上5分钟上班或回家。

我试过JobService,JobIntentService,AlarmManager没有人工作不到15分钟。只有前台服务是工作,但因为用户没有运行活动,都在后台使用小部件的工作我不能使用它。

有没有人有一个想法是,可以在后台运行的服务在不到15分钟,然后重复。或者,也许任何其他的想法如何实现我的要求吗?我需要每对夫妇Ø分钟(1-5分钟)检查用户的本地化和计数,然后发送到DATAS小工具视图。

android localization widget android-9.0-pie
1个回答
0
投票

您可以使用前台服务这一点。你只需要启动该服务,因为像这样的前景服务:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
    context.startForegroundService(intent);
} else {
    context.startService(intent);
}

由于作为服务一旦启动,你需要调用startForeground(int id, Notification notification)

话虽这么说,这可能是好的要知道在https://issuetracker.google.com/issues/76112072的问题。

也看看博客文章在https://android-developers.googleblog.com/2018/12/effective-foreground-services-on-android_11

他们似乎也与跟踪触摸你的用例:

无源定位跟踪是一个坏的用例前台服务。如果用户同意被追踪,使用FusedLocationProvider API在较长的时间间隔接收捆绑的位置更新

你也许并不需要有一个最新的插件当屏幕处于关闭状态。

© www.soinside.com 2019 - 2024. All rights reserved.