有可能吗live update
的数据Widget
using Glance
喷气背包组成?就像在数据库发生变化时更新数据一样。例如,当我使用时flow
所以 Flow 应该能够更新小部件数据,对吗?
我们可以更新点击操作,例如:
class MyWidgetActions: ActionCallback {
override suspend fun onRun(context: Context, glanceId: GlanceId, parameters: ActionParameters) {
updateAppWidgetState(context, PreferencesGlanceStateDefinition, glanceId) {
it.toMutablePreferences()
.apply {
...
//toDoSomething()
...
}
}
MyWidget().update(context, glanceId)
...
}
我们可以在不点击数据流的情况下进行更新吗?
Update:从Glance beta01开始,支持重组。因此,您现在可以使用流/实时数据并在可组合项中运行副作用。尽管这些只有在您的进程处于活动状态时才会处于活动状态。
以下已过时:
您可以使用其中一种更新方法从应用程序的任何位置更新小部件实例,但您无法订阅或观察小部件内容/可组合方法内的任何流/实时数据。
尽管这意味着您的应用程序必须正在运行,因此您需要运行一个服务。我们不建议不断更新“实时”小部件,因为这可能会导致电池耗尽。
而是使用 WorkManager 来安排定期更新。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)