是否可以停止或杀死辅助功能服务?

时间:2014-10-10 14:21:57

标签: android android-service accessibility android-a11y

我已经编写了一个辅助功能服务,我希望服务在收到辅助功能事件后停止/终止(即在方法onAccessibilityEvent中)。可以这样做吗?我试图使用kill进程杀死如下,但它无法正常工作。

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

我已在AndroidManifest.xml中给出以下权限

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

我知道无法以编程方式启动辅助功能服务但是不能停止/杀死它?

2 个答案:

答案 0 :(得分:4)

辅助功能服务无法从已启用的服务列表中删除自身,也无法自动重新启动自己的进程,但您可以致电AccessibilityService.setServiceInfo(new AccessibilityServiceInfo())以有效关闭服务。

拨打AccessibilityManager.isEnabled()仍然会返回true,但您的服务无法接收活动。

答案 1 :(得分:0)

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