Android WorkManager设置前台信息

5
我按照官方指南建立了一个长期运行的WorkManager工作程序(Kotlin版本)。现在我需要根据操作进度更新通知。 文档说: // 当需要更新正在进行的通知时,定期调用setForegroundInfo() 然而,我找不到任何setForegroundInfo()方法。 那么如何更新正在进行的通知?

你可能想选择一个答案来帮助其他人。 - tronman
4个回答

2
这是一个 文档 中的打字错误。Kotlin 应用程序应该调用 CoroutineWorker 方法 setForeground(), 这是一个挂起函数,可以使得 CoroutineWorker 在前台服务的上下文中运行。例如:
setForeground(createForegroundInfo(myProgress))

文档中还有一个错误:ForegroundInfo 构造函数有两个参数,而不是一个。因此,代码应该是这样的:
return ForegroundInfo(notification)

应该是

return ForegroundInfo(notificationId, notification)

其中,notificationId 是一个整数,用于唯一标识该通知。

0

1
关于ForegroundInfo,在任何一个代码实验中都没有相关内容。 - Chisko

0
我找不到任何setForegroundInfo()方法。
和我一样,看起来文档误导了读者。
那么如何更新进行中的通知呢?
只需要使用NotificationManagerCompat.notify()方法即可。

-2

不要搜索 setForegroundInfo(),应该使用 setForegroundAsync()


setForegroundAsync() 是 Java 用的,而 setForeground() 则是 Kotlin 用的。 - tronman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接