Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />

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

like image 369
pradeep Avatar asked Feb 11 '23 20:02

pradeep


1 Answers

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.

like image 135
alanv Avatar answered Feb 23 '23 13:02

alanv