我已经编写了一个可访问性服务,我希望该服务在接收到可访问性事件后停止/终止(即在方法onAccessibilityEvent
中)。这能做到吗?我试着用下面的杀人程序杀人,但它不起作用。
unbindService(mSvcConn);
android.os.Process.killProcess(android.os.Process.myPid());
我已经在AndroidManifest.xml 中授予了以下权限
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
我知道辅助功能服务不能以编程方式启动,但也不能停止/终止它吗?
辅助功能服务无法在不自动重新启动的情况下从已启用服务列表中删除自己或终止自己的进程,但您可以调用AccessibilityService.setServiceInfo(new AccessibilityServiceInfo())
来有效地关闭服务。
调用AccessibilityManager.isEnabled()
仍将返回true,但您的服务不会接收到事件。
在Android 7.0(API 24)中,您可以在AccessibilityService上调用disableSelf()
来禁用服务,这也会停止服务。