getEnabledAccessibilityServiceList 返回错误的结果

问题描述

我正在尝试获取已启用的无障碍服务列表,但结果返回错误

我的服务被称为(测试应用)

如果测试应用程序关闭

getEnabledAccessibilityServiceList 返回 2。 The Image 1

但是如果我启用了测试应用程序,它会返回 34。The Image 2

代码

public void isAccessibilityServiceEnabled() {
    AccessibilityManager accessibilityManager = (AccessibilityManager) getSystemService(Context.ACCESSIBILITY_SERVICE);
    List < AccessibilityServiceInfo > accessibilityServiceInfoList = accessibilityManager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FeedBACK_ALL_MASK);
    Log.w("ABCD","" + accessibilityServiceInfoList.size()); //Returns 34!
}

我能知道为什么它返回 34 吗?

解决方法

试试这个

int accessibilityEnabled = 0;


Intent intent = new Intent(ACTION_ACCESSIBILITY_SETTINGS); 
accessibilityEnabled = Settings.Secure.getInt(this.getContentResolver(),android.provider.Settings.Secure.ACCESSIBILITY_ENABLED);

if (accessibilityEnabled == 0) {
// accessibilityEnabled == 1 Enabled

startActivity(intent); //accessibility not enabled

}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...