我已经编写了一个辅助功能服务,我希望服务在收到辅助功能事件后停止/终止(即在方法onAccessibilityEvent
中)。可以这样做吗?我试图使用kill进程杀死如下,但它无法正常工作。
unbindService(mSvcConn);
android.os.Process.killProcess(android.os.Process.myPid());
我已在AndroidManifest.xml中给出以下权限
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES" />
我知道无法以编程方式启动辅助功能服务但是不能停止/杀死它?
答案 0 :(得分:4)
辅助功能服务无法从已启用的服务列表中删除自身,也无法自动重新启动自己的进程,但您可以致电AccessibilityService.setServiceInfo(new AccessibilityServiceInfo())
以有效关闭服务。
拨打AccessibilityManager.isEnabled()
仍然会返回true,但您的服务无法接收活动。
答案 1 :(得分:0)
在Android 7.0(API 24)中,您可以在AccessibilityService上调用disableSelf()
来禁用该服务,该服务也会停止该服务。