gpt4 book ai didi

android - 如何以编程方式检测用户何时在android中打开/关闭对讲

转载 作者:行者123 更新时间:2023-11-30 05:08:19 25 4
gpt4 key购买 nike

我正在尝试根据辅助功能选项(即对讲开/关)更新 UI。当用户打开对讲时,我需要显示一些帮助文本,否则应该隐藏帮助文本。

因为我们也有快捷方式(在 Pixel 设备中,长按上下音量键)来启用/禁用对讲。当我进行 XYZ Activity 时,有什么方法可以检测是否启用/禁用对讲。

最佳答案

您可以使用 AccessibilityManager.AccessibilityStateChangeListener接收是否监听无障碍服务的变化。

不幸的是,如果启用了任何无障碍服务,这将是正确的。

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 .这将返回所有 Activity 的辅助功能服务的列表。但这不会是一个监听器,这意味着如果发生变化,您将不会收到回调。一个 hack 是定期调用此函数以检查是否有任何更改。

关于android - 如何以编程方式检测用户何时在android中打开/关闭对讲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54159966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com