I'm using accessibility service in my application to read out custom text to the user. This is my service class:
class GlobalAccessibilityService: AccessibilityService() {
override fun onInterrupt() {
Log.i("Accessibility","onInterrupt()")
}
override fun onAccessibilityEvent(event: AccessibilityEvent?) {
Log.i("Accessibility","onAccessibilityEvent() & Even is: "+event.toString())
}
}
And I have declared it in Manifest under Service tag and had corresponding xml file too.
This is how i'm calling the service in my Activity class:
var mService = GlobalAccessibilityService()
var manager: AccessibilityManager = mService.getSystemService(Context.ACCESSIBILITY_SERVICE)
if (manager.isEnabled){
var event: AccessibilityEvent = AccessibilityEvent.obtain()
event.eventType = AccessibilityEvent.TYPE_ANNOUNCEMENT
event.text.add("This is a test for Accessibility Service Announcement")
manager.sendAccessibilityEvent(event)
}
However, I'm getting the following error:
java.lang.IllegalStateException: System services not available to Activities before onCreate()
at android.accessibilityservice.AccessibilityService.getSystemService(AccessibilityService.java:1602)
Request help! Thank you.