无障碍服务可以停止或终止吗?

pra*_*eep 3 android accessibility android-service android-a11y

我编写了一个无障碍服务,我希望该服务在收到无障碍事件(即在 method 中onAccessibilityEvent)后停止/终止。这能做到吗?我曾尝试使用如下杀死进程杀死,但它不起作用。

unbindService(mSvcConn);  
android.os.Process.killProcess(android.os.Process.myPid());
Run Code Online (Sandbox Code Playgroud)

我已在 AndroidManifest.xml 中授予以下权限

<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
Run Code Online (Sandbox Code Playgroud)

我知道无障碍服务无法以编程方式启动,但也不能停止/终止吗?

ala*_*anv 6

无障碍服务无法在未自动重启的情况下将自身从已启用服务列表中删除或终止其自己的进程,但您可以调用AccessibilityService.setServiceInfo(new AccessibilityServiceInfo())以有效关闭您的服务。

调用AccessibilityManager.isEnabled()仍将返回 true,但您的服务不会接收事件。