สำหรับแอปที่ต้องการความปลอดภัยในการใช้งานสูง บางครั้งก็อาจจะไม่ต้องการให้มีแอปที่เกี่ยวกับ Accessibility ทำงานในระหว่างใช้งานแอป จึงทำให้นักพัฒนาต้องคอยเช็คว่ามีแอปดังกล่าวทำงานอยู่ในระหว่างนั้นหรือไม่
โชคดีที่นักพัฒนาสามารถใช้คำสั่งที่อยู่ใน AccesibiliityManager เพื่อเช็คได้ว่ามีแอปไหนกำลังเปิดใช้งาน Accessibility อยู่บ้าง
val context: Context = /* ... */
val manager = context.getSystemService(AccessibilityManager::class.java)
val enabledServices: List<AccessibilityServiceInfo>? = manager.getEnabledAccessibilityServiceList(AccessibilityServiceInfo.FEEDBACK_ALL_MASK)
ผลลัพธ์ที่ได้จาก getEnabledAccessibilityServiceList
จะเป็น List ของ Accessibility Service ที่ทำงานอยู่ ณ ตอนนั้นทั้งหมด
โดย AccessibilityServiceInfo จะมีข้อมูลของ Service สำหรับ Accessibility ที่ทำงานอยู่ให้พอสมควร จึงทำให้นักพัฒนาสามารถเช็คได้ว่าเป็น Service ของแอปไหน ยกตัวอย่างเช่น ID ของ Accessibility Service ตัวนั้น
val info: AccessibilityServiceInfo = /* ... */
val serviceId: String = info.id
// serviceId="dev.akexorcist.remoteaccess/.accessibility.CustomAccessibilityService"
และนอกจากนี้จะเห็นว่าคำสั่ง getEnabledAccessibilityServiceList
มีการกำหนด Flag ด้วย ซึ่งเจ้าของบล็อกใช้ FEEDBACK_ALL_MASK
เพื่อดู Accessibility Service ที่ทำงานอยู่ทั้งหมด ไม่ว่าจะเป็น Feedback แบบไหนก็ตาม
แต่นักพัฒนาดังกล่าวสามารถกำหนด Flag อื่น เพื่อเอาเฉพาะบาง Feedback ได้เช่นกันนะ
FEEDBACK_AUDIBLE
FEEDBACK_BRAILLE
FEEDBACK_GENERIC
FEEDBACK_HAPTIC
FEEDBACK_SPOKEN
FEEDBACK_VISUAL
เพียงเท่านี้แอปก็สามารถเช็คได้แล้วว่ามีการเปิดใช้งาน Accessibility จากแอปอื่นอยู่ในขณะนั้นหรือป่าว ส่วนจะเอาไปทำอะไรต่อก็แล้วแต่นักพัฒนาเลย