pradeep pradeep - 24 days ago 25
Android Question

Can accessibility service be stopped or killed?

I have written an accessibility service and I want the service to be stopped/killed once it receives an accessibility event (i.e. in method onAccessibilityEvent). Can this be done? I have tried to kill using kill process as below but it is not working.

unbindService(mSvcConn);

android.os.Process.killProcess(android.os.Process.myPid());

I have given the below permission in AndroidManifest.xml



I know that accessibility service cannot be started programmatically but can't it be stopped/killed either?

Answer

An accessibility service can't remove itself from the list of enabled services or kill its own process without being automatically restarted, but you can call AccessibilityService.setServiceInfo(new AccessibilityServiceInfo()) to effectively turn off your service.

Calling AccessibilityManager.isEnabled() will still return true, but your service won't receive events.

Comments