簡體   English   中英

如何以編程方式檢測用戶何時在 android 中打開/關閉對講

[英]How to detect when user turns on/off talkback in android programmatically

我正在嘗試根據可訪問性選項(即對講開/關)更新 UI。 當用戶打開對講時,我需要顯示一些幫助文本,否則應該隱藏幫助文本。

因為我們還有快捷鍵(在 Pixel 設備中,長按音量上下鍵)來啟用/禁用對講。 當我進行 XYZ 活動時,有什么方法可以檢測對講是否已啟用/禁用。

您可以使用AccessibilityManager.AccessibilityStateChangeListener來接收是否監聽 Accessibilty Service 中的變化。

不幸的是,如果啟用了任何無障礙服務,這將是正確的。

AccessibilityManager accessibilityManager= (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);

// Put this in onCreate
accessibilityManager.addAccessibilityStateChangeListener(new AccessibilityManager.AccessibilityStateChangeListener() {
    @Override
    public void onAccessibilityStateChanged(boolean b) {
        accessibilityChanged(b);
    }
});
accessibiltyChanged(accessibiltyManager.isEnabled());

void accessibiltyChanged (Boolean enabled) {
   // Do your stuff
}

您也可以嘗試使用getEnabledAccessibilityServiceList 這將返回所有活動無障礙服務的列表。 但這不會是偵聽器,這意味着如果發生變化,您將不會收到回調。 一個技巧是定期調用此函數以檢查是否有任何更改。

暫無
暫無

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

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