首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在android中限制对通知栏的反馈焦点

在android中限制对通知栏的反馈焦点
EN

Stack Overflow用户
提问于 2022-07-25 11:59:57
回答 1查看 45关注 0票数 0

我有一个安卓设备,我把对讲机打开。现在,每当我重新启动/重新启动设备时,对讲机就会直接聚焦在通知栏上,并从“同步sim联系人”、"USB调试连接“等中启动语音。在设备重新启动/重新启动时,是否可以停止关注通知栏,或者在此特定的语音输出期间保持对话的静默?任何帮助都是有价值的。

EN

回答 1

Stack Overflow用户

发布于 2022-07-25 13:48:20

对于你想要做的事情,有一些值得怀疑的用法。

也许您应该发布您的UI/UX和--为什么要限制这种默认的TalkBack行为。TalkBack用户通常(但不限于)视力受损的人,他们在很大程度上依赖服务提供的音频提示。想要聪明一点,这通常是个坏主意。这并不意味着没有有效的用例,因此下一段将向您展示如何将焦点移到您想要的位置。

如果您仍然希望确保可访问性服务在打开片段或活动时聚焦UI的特定部分,那么添加一些助手函数,如:

代码语言:javascript
运行
复制
fun View.requestAccessibilityFocus() {
    performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null)
    sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED)
}

然后在onCreateonViewCreated中请求它:

代码语言:javascript
运行
复制
import androidx.core.view.doOnLayout

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
   super.onViewCreated(view, savedInstanceState)

   val theViewYouWantToFocus = ... //findViewById or use ViewBinding

   theViewYouWantToFocus.doOnLayout {
       it.requestAccessibilityFocus()
   }
}

doOnLayout的原因是让安卓布局系统完成布局,并确保可访问性系统在试图将特定视图聚焦到对讲机之前得到布局层次结构的最终图像。你的里程可能会不同。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73108863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档