android - Android 画外音未在状态更新时公布
问题描述
我正在尝试在具有以下布局的 Android 远程视图中呈现自定义通知。
--- --- --- --- --- --- --- --- --- ---- -----
| ------------- ------------------- |
| | ImageView | | TextView (Title) | |
| | Icon | -------------------- |
| -------------- -------------------------- |
| | TextView | Chronometer | |
| -------------------------- |
| ------------------------------------ |
| | | |
| | ImageView | |
| | | |
| ------------------------------------- |
| |
| --------------------------- |
| | Button | |
| ----------------------------- |
-----------------------------------------------
设置
在这个远程视图设置中,文本视图表示使用 Chronometer 小部件显示倒计时计时器。开始时间由后端确定,并在构建远程视图时以编程方式配置。
当计时器到期前还有 60 秒时以及计时器到期时,将重新呈现通知。因此,如果计时器小部件的开始时间是 3 分钟,计时器将从03:00
->倒计时02:59
,02:58
一直到00:00
.
当定时器值为 时01:00
,即定时器还有一分钟到期,当定时器值为 时,00:00
即定时器已经到期时,将重新呈现通知。我使用警报管理器在那些时候呈现通知。
所有这些自定义通知都是在相对布局中定义的,其中对齐是相互设置的。
问题
打开对讲功能后,语音会播报通知第一次聚焦的当前时间。即如果开始时间是03:00
使用设置中的示例,则画外音在时间=时宣布正文的标题文本内容,正文内容03:00
。但是,当还剩一分钟重新渲染时,以及计时器已经到期时,对讲不会宣布更新的通知内容。
期望的行为
我想对讲宣布通知已再次呈现。如果我要分配一个属性。我已经提到所有这些小部件都是在 RelativeLayout 中定义的,所以我将按照本文android:accessibilityLiveRegion="polite"
中的建议将属性分配给 RelativeLayout,然后它每秒都会宣布倒数计时器,这是我不想要的。
我希望画外音宣布通知已在一分钟后重新呈现,并且通知已过期。我怎么做?Android codelab似乎也不包含任何信息。我已阅读开发人员的辅助功能部分,但我不知道如何实现此功能。我曾认为我需要 AccessibilityDelegate,但我找不到任何有用的材料。
解决方案
推荐阅读
- android - 我的设备在 fastboot 设备中可见,但是当我尝试刷新自定义恢复时,它总是失败
- amazon-web-services - AWS EMR:通过 ssh 进入任务节点
- django - 我应该如何将 wagtail-lazyimages 与 Wagtail 的 RichTextField 集成?
- r - R+Shiny+leaflet:根据缩放级别在地图上聚合值
- c# - 在 Blazor 中使用基类和派生类绑定
- sql - 查询根据输入和优先级过滤记录,如果不匹配,则拉出空值记录
- php - 更新php.ini文件后也无法上传大于100M的视频
- wpf - 如何将自定义列类型添加到 wpf 数据网格?
- c# - 使用 Finaliser 进行清理 - Xunit
- c# - 是否可以捕获鼠标在另一个应用程序(例如计算器)上单击的坐标,然后使用代码(C#)强制单击?