问题标签 [foreground-service]

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

android - 如何获取应用程序的包名称显示在前台服务的屏幕上,android?

我想获取当时显示在屏幕上的应用程序的包名称。我正在使用前台服务,我使用了下面的方法,但是如果我打开任何应用程序,例如 youtube、camer 等,它只会给我当前应用程序的包名,如果我在主屏幕上,它只会给我手机的 com.huawie.android.launcher。

0 投票
2 回答
4916 浏览

android - 有没有办法在本机反应中运行前台服务?

我一直在谷歌上进行一些搜索,试图找到一种在本地反应中运行前台服务的方法,但我没有找到太多关于它的信息。

有谁知道如何做到这一点?这就是我所说的前台服务:https ://developer.android.com/guide/components/services.html#Foreground

0 投票
1 回答
82 浏览

android - 有什么方法可以通过服务实用地唤醒屏幕?

我希望手机屏幕在几毫秒内闪烁或唤醒一次。我读了几个关于stackoverflow的问题。大多数解决方案都是为了支持活动而提供的。因为它需要window显然属于活动而不是服务的对象。

我的服务是前台服务,系统可能会收集活动以供记忆。但是我的服务被系统收集的可能性很小,因为它是前台服务。

window通过使用以下标志从使用对象的活动中,我们可以唤醒屏幕:

有没有其他方法可以从服务中唤醒屏幕?

0 投票
2 回答
4341 浏览

java - 前台服务、警报管理器、通知现在显示

我在前台服务、alarmManager 和通知方面遇到了一些问题。

基本上我正在尝试提供每天早上发出通知的服务。我正在尝试使用 foregroundService 和 cpuWakeLock 执行此操作,但出于某种原因,我仍然无法每天早上收到此通知启动。在模拟器中一切正常。

使用前台服务的主要原因是,如果没有它,我还没有开始工作,当应用程序关闭时警报会继续触发。

我有点绝望

这是我的代码(清理版)

警报接收器级

}

这里是我的清单文件:

0 投票
0 回答
180 浏览

java - 如何杀死第三方android应用程序的前台服务

Android系统允许我们使用以下权限杀死其他已安​​装的Android应用程序的后台进程

但是有没有办法杀死第三方应用程序的前台服务呢?

0 投票
2 回答
2715 浏览

java - Android 8 上不显示前台服务通知。+

我的前台服务在 Android Oreo 上运行时不显示通知。

它在 15 到 25 的 Android 版本上完美运行。当我这样做targetSdkVersion2625这个问题就消失了。但是这个解决方案似乎并不好。

我准备了这个问题的测试项目。

我应该怎么做才能在 Android Oreo 上修复它targetSdkVersion 26

我的前台服务 SoundService.java(完整源代码):

我的 build.gradle:

在哪里project.ext.supportLibVersion = '26.1.0'

看看它在 Android API < 26 上是如何工作的截屏

0 投票
1 回答
466 浏览

android - 使用 startForeground 的 Android 服务会影响 Play 商店的自动更新吗?

我正在使用 startForeground 在我的应用程序中运行服务。这会影响 Play 商店运行时的自动更新吗?似乎确实如此,因为我将发布一个新版本,并且测试平板电脑在发布后的几天内仍将运行旧版本。该应用在设备上的 Google Play 中显示“待更新”。

作为背景,这不是一个普通的消费者应用程序,并且确实需要一直运行以同步数据。如果没有前台服务,我发现即使是持续的警报也会在几天后及时停止运行,所以据我所知,startForeground 是保持应用程序永久运行的唯一方法。

谢谢阅读!

0 投票
1 回答
128 浏览

android - Android Doze:它会单独影响整个应用程序或其进程吗?

我需要收集 GPS 数据,将其保存到数据库,然后每分钟将其发送到后端。我只是想确保打盹模式不会搞砸。

  1. 假设我启动了前台服务并onLocationChanged在那里实现了回调。

    我是否必须在前台服务中执行所有这些操作(收集/存储/发送)才能确保 Doze 允许使用 GPS / 互联网?

  2. 如果我想在其他地方存储/发送数据,例如在 aBroadcastReceiver中,我如何确定我BroadcastReceiver的已准备好处理数据并且没有睡着?

  3. Android M 中有一个 bug,导致前台服务受 Doze 模式影响: https ://stackoverflow.com/a/37869501/3210556

    一种可能的解决方法是在单独的进程中启动前台服务。

    假设应用程序中有前台服务,究竟什么不受打瞌睡的影响?

    • 前台服务本身?
    • 与前台服务相关的进程?
    • 整个应用程序?

谢谢你。

0 投票
1 回答
2558 浏览

android - 绑定的服务总是前台吗?

我需要foreground service为我的应用程序启动一个,以便它继续运行并且即使应用程序在后台也不太可能被杀死。这是一种方法,startForeground

我还需要与服务通信,所以我认为最简单的选择是绑定它(我计划让它在同一个进程中运行,以便能够将返回的 IBinder 强制转换为我的类并调用方法它)。但是,我在任何地方都找不到有关 bound 的信息foreground services

通过阅读文档和教程,我发现其中一个标志bindServicehttps://developer.android.com/reference/android/content/Context.html#BIND_NOT_FOREGROUND以防止服务获得前台优先级的信息。

这是否意味着默认情况下每个bound service也是foreground一个,并且它需要通知等(文档实际上从未提及它,所以我猜不是)?

如果我的应用程序使用前台服务,该应用程序可以在后台被杀死吗?

0 投票
3 回答
3473 浏览

android - Context.startForegroundService() 然后没有调用 Service.startForeground

我的应用程序将调用startForegroundService(intent). 我把the和of 都放进去了。但我仍然偶尔会收到此错误。onCreateMainActivitystartForeground(ON_SERVICE_CONNECTION_NID, notification)onCreatestartCommandService

这怎么可能发生?是否有可能在 5 秒内没有调用onCreateor ?startCommand如果是这样,我们应该如何正确调用startForegroundService

2017-12-09 更新

不知道为什么大家都说和这个问题一样:Context.startForegroundService() 没有然后调用Service.startForeground() 你甚至可以在那边找到我的评论。

它不同的原因是你可以在这个问题的第一行看到。我已将startForegroundServiceandstartForeground放在正确的位置,但它仍然随机显示此错误。

这是谷歌问题跟踪器:https ://issuetracker.google.com/issues/67920140

在此之前停止服务将导致崩溃。

这是服务生命周期的另一个问题。服务关闭后,断言可能会被错误触发。