![](/img/trans.png)
[英]How do you detect when user turns off accessibility service in 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.