4

我已经编写了一个可访问性服务,并且我希望该服务在收到可访问性事件(即在方法中onAccessibilityEvent)后停止/终止。这可以做到吗?我尝试使用下面的 kill 进程杀死,但它不起作用。

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

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

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

我知道无法以编程方式启动可访问性服务,但也不能停止/杀死它吗?

4

2 回答 2

6

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

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

于 2014-10-13T21:36:02.630 回答
2

在 Android 7.0 (API 24) 中,您可以调用disableSelf()AccessibilityService 来禁用该服务,这也会停止它。

于 2016-11-07T20:25:06.400 回答