我有一个使用 WorkManager 库的长时间运行的工作人员。一旦工作进程启动,就必须显示通知(?)。但我不想在应用程序位于 foreground 时显示通知。有办法实现吗?
你可以使用类似的东西:
val isForeground = ProcessLifecycleOwner.get().currentState.isAtLeast(Lifecycle.State.STARTED)
if (!isForeground) {
showNotification()
}
依赖项存在于此 Maven 链接。
一般建议:如果您的任务可能需要超过 30 秒,您应该使用前台服务,这将强制执行通知。