簡體   English   中英

android通知欄對講限制焦點

[英]Restrict focus of talkback on notification bar in android

我有一個 android 設備,我在其中設置了對講功能。 現在,每當我當時重新啟動/重新啟動設備時,對講直接將焦點放在通知欄上並從“同步 sim 聯系人”、“連接 USB 調試”等開始語音。有沒有辦法在設備獲取時停止關注通知欄在此特定演講期間重新啟動/重新啟動或保持對講靜音。 任何幫助都將是可觀的。

您想要做的事情有疑問的用法。

也許您應該發布您的 UI/UX 以及為什么要限制此默認 TalkBack 行為。 TalkBack 用戶通常(但不限於)有視力障礙的人,他們非常依賴服務提供的音頻提示。 試圖變得聰明通常是一個壞主意。 這並不意味着沒有有效的用例,因此下一段將向您展示如何將焦點移動到您可能想要的位置。

如果您仍然想確保可訪問性服務在您打開片段或活動時專注於 UI 的特定部分,請添加一些輔助函數,例如:

fun View.requestAccessibilityFocus() {
    performAccessibilityAction(AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS, null)
    sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_SELECTED)
}

然后在onCreateonViewCreated請求它:

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 的原因是讓 android 布局系統完成布局傳遞,並確保可訪問性系統在嘗試聚焦特定視圖以進行對講之前獲得布局層次結構的最終圖片。 你的旅費可能會改變。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM