如何实时更新glance小部件?

2024-04-17

有可能吗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(使用前将#替换为@)

如何实时更新glance小部件? 的相关文章

  • 通过数据绑定将字符串传递到包含的布局不起作用

    我正在尝试使用 Android 数据绑定功能将一个简单的字符串从我的主布局传递到布局 它编译得很好 但传递给包含的值实际上并未传递 即 它没有出现在我的布局中
  • EditText 中的验证允许 IP 或 Web Url 主机

    我需要对我的 EditText 进行验证 以便它允许我输入有效的 IP 地址格式 即示例 132 0 25 225 or 网址格式 www 例如 www example com 逻辑是 如果用户首先输入任何数值 则验证 IP 将执行操作 否
  • Android 主机意图过滤器通配符

    是否可以在 android host 属性上使用通配符 就像是 android host site com android pathPattern android pathPrefix m android scheme http gt Or
  • 关闭 Android 中的飞行模式

    如果 num gt 50 我想关闭飞行模式 我实现了这段代码 来自在 Android 中切换飞行模式 https stackoverflow com questions 5533881 toggle airplane mode in and
  • 使用 Google Places Autocomplete API 的 REQUEST_DENIED 响应

    我正在开发 Android 应用程序 它使用谷歌的地点自动完成 API 当尝试点击以下网址时 我得到的答复如下 预测 状态 REQUEST DENIED 我从下面的链接获得了 API 密钥Google API 控制台 http code g
  • 为什么我将可绘制文件重命名为 .9.png 后出现“Some file crunching failed”?

    我正在测试 9 patch 图像 在一切正常之前 我重命名drawable file ic button beat box default png to ic button beat box default 9 png 然后我收到错误 某些
  • AppCompat v21 工具栏更改徽标大小

    我正在从以前的操作栏迁移到 appcompat v21 中的新工具栏功能 我仍然想将徽标保留在操作栏 工具栏 的左上角 为此 我在布局中添加了支持工具栏 并为其创建了一个新的工具栏 app theme style NewToolBarSty
  • Android Studio:lambda 不起作用[重复]

    这个问题在这里已经有答案了 当尝试使用 lambda 表达式时 我遇到了一些 Gradle 构建错误 错误 41 100 错误 source 1 7 不支持 lambda 表达式 使用 source 8 或更高版本来启用 lambda 表达
  • Android Lollipop prepareAsync() 需要很长时间才能返回

    在 Samsung Galaxy Note 4 上的 Android Lollipop 几周前刚刚从 4 4 4 更新 上 prepareAsync 几乎需要 20 秒来加载实时流 在 4 4 4 上 只需要 2 3 秒 并且没有错误 见下
  • 使用 Android 播放任意音调

    有没有办法让Android发出任意频率的声音 意思是 我不想预先录制声音文件 我环顾四周 音调发生器 http developer android com reference android media ToneGenerator html
  • SQLite支持android的数据类型有哪些

    谁能告诉我 SQLITE 中支持 ANDROID 的数据类型列表 我想确认 TIME 和 DATE 数据类型 这里有一个list http www sqlite org datatype3 htmlSQLite 的数据类型 支持时间和日期间
  • 监听什么来检测 Android 中的请勿打扰模式更改?

    我希望我的应用程序在手机设置为请勿打扰模式 仅限闹钟 仅限优先级或完全静音 时显示通知 通过聆听 这效果非常好android media RINGER MODE CHANGED在快速设置中检查此模式并在已选择的选项卡中选择模式时 但是 当选
  • Android Studio - 如何关闭“单词‘word’中的拼写错误?”

    当命名变量或给出字符串参数时 Android Studio 似乎对我如何标记事物有问题 有办法把它关掉吗 是的 打开Preferences gt Editor gt Inspections gt Spelling gt 关闭Typo并按OK
  • 从多个选项卡中的编辑文本字段获取文本

    我正在尝试创建一个使用选项卡作为输入表单的 Android 应用程序 基本上 我希望对其进行设置 以便用户可以在一个选项卡上输入一些信息 然后提交该信息 或者转到另一个选项卡并输入更多信息 然后从两个选项卡提交信息 我正在使用操作栏和片段来
  • AnalyticsService 未在应用程序清单中注册 - 错误

    我正在尝试使用 sdk 中提供的以下文档向 Android 应用程序实施谷歌分析服务 https developers google com analytics devguides collection android v4 https d
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • 在 AppAuth-Android 中注销

    我有一个用JAVA开发的Android应用程序 对于这个应用程序 我使用的是身份服务器4 https github com IdentityServer IdentityServer4作为我的 STS 一切正常 但我找不到任何注销的实现Ap
  • 从手机访问本地主机[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • putFragment() - 片段 x 当前不在 FragmentManager 中

    上面的标题被问了很多次 但答案似乎与FragmentStatePagerAdapter这与我的问题无关 我正在使用该方法putFragment Bundle String Fragment 直接地 The 安卓文档 http develop

随机推荐

  • C++ 通用链表

    对于下面的代码 include
  • 使用 pip 在 Mac 上安装 Pandas

    我正在尝试安装Pandas with pip 但遇到了问题 详细信息如下 Mac OS Sierra which python gt usr bin python python version gt Python 2 7 10 Inside
  • OpenXml:确定 Excel 中单元格中的图像[重复]

    这个问题在这里已经有答案了 可能的重复 如何检查单元格是否有图片 https stackoverflow com questions 2320826 how to check if a cell has a picture OpenXML
  • 匹配条件时更改列值

    我需要更换一个NULL仅当其他条件匹配时列中的值 Columns Parent Child flag01 lag02 父栏目有很多NULL值 但我想替换null仅当flag01 and flag02是 好的 If flag01 and fl
  • 展平 RDD 中的 Scala 映射

    我有一个 RDD 如下所示 uidProcessedKeywords org apache spark rdd RDD Long Map String Double 如何展平 RDD 中的地图以获得以下结果 org apache spark
  • Flash AS3 - 如何访问其他帧(也称为非一帧)中的显示对象

    只要该子项位于第一帧中 getChildByName name 就会起作用 其他框架中的显示对象还没有被实例化 所以并不是说不能访问它们 它们不存在可供访问的地方 当播放头进入具有特定对象的关键帧时 会创建该对象并将其添加到舞台中 当播放头
  • Python 多线程

    我有这样的场景 使用 Zope Plone 和一些我的 python API 创建的网页 有一个网页 称之为 a 它通过 python 方法调用数据库 Postgres 并返回一些信息 在页面 a 上 您可以 离线 修改数 据库数据 我的意
  • 如何让 CBC 在时限内返回最佳解决方案? (皮莫)

    我正在尝试在 Pyomo 上使用 CBC v2 10 3 来解决整数线性问题 执行求解器时 我当前设置的时间限制为 600 秒 opt SolverFactory cbc opt options seconds 600 在这个时间限制内 求
  • 在Python中跳过范围函数中的值

    循环一系列数字并跳过一个值的Python式方法是什么 例如 范围是从 0 到 100 我想跳过 50 编辑 这是我正在使用的代码 for i in range 0 len list x listRow list i for j in ran
  • BringIntoView 不起作用

    我在事件处理程序后面有这段代码 private void comboActiveStudentAssignmentType SelectionChanged object sender SelectionChangedEventArgs e
  • Faye 在 jruby 的铁轨上

    我搜索了很多 但找不到任何资源表明我可以将 Faye 与 jruby 一起使用 我已经发现this one https groups google com forum fromgroups topic faye users wvp K38v
  • 在资源路径中找不到 com/sun/jna/android-arm/libjnidispatch.so

    以下所有操作均在 Android Studio 中完成 我已成功编译并测试了 Android Watson Speech to Text 演示应用程序 然后 我创建了一个包含 Watson 相关 API 的库项目和一个带有引用 Watson
  • 如何向 Next.js 静态站点添加网站图标?

    我正在尝试将网站图标添加到 Next js 静态站点 但运气不佳 我尝试使用以下组件自定义文档 next document https nextjs org docs custom document https nextjs org doc
  • 如何连接字符串列表? [复制]

    这个问题在这里已经有答案了 对于你们大多数人来说 这可能非常容易解决 但我无法简单地解决这个问题str 周围可以吗 我想转换这个列表 A B C into A B C In 1 L A B C In 2 join L Out 2 A B C
  • Apache 中的手动内容压缩

    我需要 Apache 上的手动压缩解决方案 我的目标 在我的服务器上提供 gzip 编码的内容以及未压缩的内容 文件已预先压缩 并非所有文件都经过压缩 我想指定这些文件 并且选择不是基于类型 扩展名 的 提供许多内容类型 自定义内容类型 并
  • NuGet 不更新项目引用

    我最近将所有 Visual Studio 2013 项目迁移到 Visual Studio 2015 并按照本文档中记录的步骤进行操作article https docs nuget org consume package restore
  • 为什么在这种无竞争的情况下原子比锁慢得多?

    我使用原子而不是锁编写了一些东西 并且对它在我的情况下慢得多感到困惑 我编写了以下小型测试 include
  • 找不到版本“CXXABI_1.3.8”(...需要)[重复]

    这个问题在这里已经有答案了 当我在编译后运行程序时 出现以下错误 prog usr lib x86 64 linux gnu libstdc so 6 版本CXXABI 1 3 8 not found required by prog pr
  • getchar() 和 putchar() 是函数还是宏?

    我引用了两个可靠的信息来源 两者似乎对同一事物有不同的定义 http www cplusplus com reference clibr E2 80 A6 http www cplusplus com reference clibr E2
  • 如何实时更新glance小部件?

    有可能吗live update的数据Widget using Glance喷气背包组成 就像在数据库发生变化时更新数据一样 例如 当我使用时flow所以 Flow 应该能够更新小部件数据 对吗 我们可以更新点击操作 例如 class MyW